Our application, CapooCare, is a web application for pet caretaking services. With its functionalities, CapooCare can take care of the entire use cases of 3 different stakeholders: Pet Owners, Caretakers and PCS Admin. The application has been deployed at the following link: CapooCare.
Watch our video demo of the app here!
Our application fully supports Pet Owners from managing their profile information, pet list and browsing of potential Caretakers to bidding for Caretakers' services, making payments and leaving ratings as well as reviews.
For Caretakers, they also can manage their profile, pet services, pricing, bids and available periods. There are also summary information for them to review and update their services.
For PCS Admin, they can view information about all Caretakers, set pet prices, view monthly salary details over all Caretakers as well as helping new admins sign up.
Our web application was built on the PERN stack with PostgreSQL as the database system, Express.js as the back-end framework, React as the front-end framework and Node.js as the runtime environment. Additionally, we made use of Easy-Peasy, an abstraction of Redux, to maintain frontend states. Through this project, we have learnt a lot about building a working web-based application capable of handling non-trivial database and user interface features.
- Navigate into the client folder.
npm install
npm start
- The application will open on localhost:3000
- Open up the PostgreSQL host. Ensure that it is running. Do this by pressing 'Enter' 4 times, then type in password and press 'Enter' again.
- Ensure that a .env file exists in the
server
directory, with all the required environment variables as defined inserver/keys.js
. This file should never be committed. - Navigate to
server
and install all dependencies usingnpm install
. - Run
npm start
. This should run the backend program as a standalone.
Q. How do I initialize database?
A. Ensure that you have the FORCEINITIALIZEDATABASE
variable in your .env file set to True
.
Q. Why do I receive an authentication error when trying to access database?
A. Check that your .env file has the correct PGDATABASE
, PGUSER
and PGPASSWORD
fields. These should have been set up on your local PostgreSQL already.
The use of the likeness of the character "Capoo" is used purely for non-commercial purposes. We do not intend to commercialize CapooCare.