PetMed is a full-stack pet medicine logging app built on a Typescript+PERN stack to help keep track and manage your pets' medications. You can create households to keep all your pets under a unified umbrella, and if you petsit you can create multiple households to keep every pet grouping distinct. If you are a pet owner, you can provide temporary or permanent access to your household so that a petsitter may access your pets' medication schedules.
- User Authentication: Secure user authentication system with JWTs.
- Account Verification: Email verification process ensures account validity and allows for future features like passwordless logins and password resets.
- Medication Management: Track pet medications, including dosage amounts, units, start and end dates, and notes.
- Schedule Management: Set up medication schedules for pets, including scheduled times for doses.
- Logging Administration: Log medication administration events, including administering user, time, and dose information.
- Image Upload: I mean, it's an app about pets, we can't not have profile pictures for your pets!
- Frontend: React, TypeScript
- Backend: Node.js, Express.js, TypeScript
- Database: PostgreSQL
- Authentication: JWT
- Account Verification & Other Email Features: Mailgun
- File Storage: DigitalOcean's Spaces (an S3-compatible object storage service)
- Development Tools: Multer (for file uploads), AWS SDK (for S3 integration)
- Clone the repository:
git clone https://github.com/yourusername/pet-medicine-tracker.git
- Navigate to the project directory:
cd pet-medicine-tracker
- Install dependencies:
npm install
- Set up the database - there's a DB starter script you can run to create the tables & update triggers
- Set up environment variables:
- Create a
.env
file based on the.env.example
(with everything in a similar format to what your real values may look like). - Add your DigitalOcean Spaces credentials, Mailgun keys, database info, and other necessary environment variables.
- Create a
- Start the dev server:
npm run dev
- Visit
http://localhost:8000
in your browser to view the app.
Contributions are welcome! If you'd like to contribute to this project, please fork the repository, make your changes, and submit a pull request.
This project is being developed for educational purposes. Anyone utilizing the code for personal use assumes all risk associated with their pets. Always consult with your veterinarian for any questions pertaining to your pets' healthcare and wellness needs.
This project is licensed under the MIT License.