GitXplorerGitXplorer
t

WagChat

public
0 stars
0 forks
3 issues

Commits

List of commits on branch main.
Verified
e0f9090d69133e0039c11cc11c00dca32d6231bc

Revise about and app problem and solution

ttrambui09 committed 4 years ago
Verified
4d5225a8c29f30a81bfc04e694173e7a144caacb

adding screenshots

ttrambui09 committed 4 years ago
Verified
7baf1fd529ecd06910547497a25f0d187170cd06

Update ReadMe.md

ttrambui09 committed 4 years ago
Verified
e2be3d6d3da2982272e2e5b2be259a6f79465508

shifting sections around

ttrambui09 committed 4 years ago
Verified
616d258223b1d94163e7c0e6e1ff472710fc1c0f

Inserting youtube Video

ttrambui09 committed 4 years ago
Verified
9cba176e5e8fac5f531ce0ea28f4583038f06bf0

Adding video walkthrough

ttrambui09 committed 4 years ago

README

The README file for this repository.

WagChat

WagChat is a mobile app that connects dog owners so they can message each other and schedule a time to walk their dogs together. It turns their daily walks into something fun and beneficial for the user and their pets.

Problem Statement and App Solution

Since the Covid-19 pandemic started, animal shelters have seen an increase in pet adoptions compared to the year prior. The upward trend in pet adoptions, particularly dog adoptions coupled with a few other things like people staying home more and socially distancing to prevent the spread of COVID is where our app, Wagchat can come into play. We realize that the pandemic has upended a lot of normal activities. People are more prone to feeling isolated and lonely because they are staying home more and they are socially distancing. We hope that with WagChat, people can take their dog walking routines and add a safe and social side to connect with their communities and improve their physical and mental health.

Walkthrough

Wagchat screenshots

Wagchat screenshots (1)

Youtube Video Link: Click to play

IMAGE ALT TEXT HERE

Requirements

Intallation

  • download Xcode
  • Fork and clone this repo
  • Open terminal and navigate to project folder
  • Install the project's dependencies by running pod install on your terminal
  • Open ios-app-particle-setup.xcworkspace and run the project on selected device or simulator

Technologies/Dependencies

Database Structure and Considerations

Google Firestore was used for WagChat’s database. Firestore, a non-relational database, was chosen for its flexibility and user friendly experience. For WagChat, there are two major collections to keep track of the data. The “Users” collection contains documents linked to an authenticated user and keeps track of the user's profile information (location, photoUrl, dogInfo, username, and their about section). One of WagChat’s core functionalities is to be able to have a private conversation with another user on the app. To store the chat messages amongst users, there were a few considerations in how to structure the database. Initially, we thought of having a nested chat collection in each user document that would keep track of the people the user was conversing with. However, with this structure, we had to consider the implications of each chat message being duplicated for the users involved. The sender and the receiving users would both have the same data saved nested in their user document. To avoid this duplication of chat messages, we decided to create a separate “Chats” collection. In it,, there would be an auto-generated ID for the documents with a users field containing an array of users in the conversation. Within the document, there is another “thread” collection nested. The nested thread collection contains the specifics of one message. The created timestamp, the senderID, senderUsername, content, and threadID. Upon rendering the threads between two specific users, we sort the threads by the created timestamp to display the chats chronologically. Below is a visual representation of how our database is structured in Cloud Firestore.

Screen Shot 2021-02-11 at 2 40 19 PM Screen Shot 2021-02-11 at 2 45 21 PM

Contributors