Skip to content

EstDavid/pet-care-app

Repository files navigation

CADO - Connecting pet owners with loving pet sitters

CADO is an app that allows pet owners to search for nearby pet sitters and helps pet sitters manage their schedules. Thanks to CADO, pet owners can rest assured that their pets are in good hands. Check out this video to get a good overview of how CADO works.

Features of CADO

  • Pet information: Pet owners can add all the relevant information about their pet. This way, pet sitters know how to best care for their companion.
  • Real timechat: Using socket.io, CADO allows owners and sitters to chat in real time. Pet owners can then request a stay.
  • Pet stay updates: Pet owners get a timeline view of when they'll see their beloved pet again, with photo and video updates.

Getting started

API and connection keys

If you want to run this app, you will need the following API keys:

Installing the app

Clone this repo and run npm install

Then, create a .env.local file with the following environment variables:

MONGODB_URI=<MongoDB connection string>
CLERK_SECRET_KEY=<Clerk secret key>
GEOCODE_KEY = <https://geocode.maps.co/ free API key>

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<Clerk publishable key>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard/choose-role
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=<Cloudinay cloud name>
  • Run the following command in the MongoDB shell of your database: db.User.createIndex( { "contact.loc" : "2dsphere" } ) This will create the index needed to perform the pet sitter search in your area.

  • In the folder ./src/lib/db/mocks you can find the files corresponding to the different collections the CADO database is made from. Simply import them into a fresh database in your MongoDB Atlas or Compass.

Running the app

Open a new terminal and run npm run socket. This will start the socket.io server for handling real time messages.

Open another terminal and run npm run dev, which will start the NextJS application, running by default on http://localhost:3000.

If a browser window doesn't open, just open a new one and type this address. You should see:

Click on 'Paw to begin', create a new user with Clerk, choose a role (owner or sitter) and you're good to start exploring CADO.

Tech stack

CADO is has been written entirely in TypeScript, and is powered by the following technologies:

Contributors

Dougal Wallace

Dougal Wallace

David de Esteban Cortés

David de Esteban

Diana Sulkova

Diana Sulkova

Mohammad Ala Tahhan

Mohammad Ala Tahhan

Goran Levanic

Goran Levanic

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published