A React.js mobile first web application to help people communicate about daily pet care.
- React.js
- React-Redux
- Redux-Sagas
- Node.js
- Express
- Material UI
- PostgreSQL
- Passport
- Moment.js
- Twilio
- Filestack
- SweetAlerts
Create a new database called our_pets
.
Use the database.sql file to create all of the tables you will need to run this project.
- Start postgres if not running already by using
brew services start postgresql
npm install
- Create a
.env
file at the root of the project and paste this line into the file:While you're in your newSERVER_SESSION_SECRET=superDuperSecret
.env
file, take the time to replacesuperDuperSecret
with some long random string like25POUbVtx6RKVNWszd9ERB9Bb6
to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it assuperDuperSecret
, you will get a warning.
You will need to sign up for accounts with the FileStack and Twilio APIs and put your API keys in the .env file as well.
-
npm run server
-
Now that the server is running, start the client
npm run client
-
Navigate to
localhost:3000
- Users can register for an account and create a new household or join an existing household.
- Upon registering, they can add all of the pets in their household -- entering information about the pet's species, its name, birthday, and upload a picture of the pet for its profile.
- Users can also search for existing users, for instance, a pet-sitter with an account, on the site to add to their household.
- Users can be a part of multiple households and switch between households as they use the app.
- The dashboard view features photos and activity buttons for all of the pets for the household they are currently managing.
- Users can log when pets in their household have been fed, walked, had their litterboxes changed, or been given medications.
- When a user logs an activity, the date and time are automatically captured and the dashboard is updated to reflect the last time that this activity occurred. A text message is also sent to all other users in that household if they have opted-in to text message alerts.
- Users can decide which activities they'd like text messages updates for, and for which pets.
- Users can always see a log of the last activity data on their dasboard and a report of anywhere from 5-30 of the last data points for each activity for each pet on the pet's profile page.
- Users can be invited to a household, or request to join a household. This is all managed through the internal messaging system.
- The messaging system allows users to send messages to anyone else in any of their shared households and to reply to messages send to them by other users.
- Users can also upload photos to messages. This is especially great for pet sitters who want to send a quick update pet owners.
- Users can update their personal user photos and their pet photos.
- Household administrators are able to approve new household members or remove existing household members.
- @larsz-o, Lars Mackenzie