Modular Pets is a comprehensive system designed to manage various aspects of a pet store or adoption center. The system is modular, allowing for easy customization and extension. It includes modules for managing pets, customers, adoptions, medical records, inventory, orders, shipping, notifications, and payments.
- Responsibilities: Manages pets' information like their ID, name, species, breed, age, etc.
- Key Features:
- Add, update, and delete pets.
- Store pet details (e.g., name, breed, birthdate).
- Handle pet-related events (e.g., adoption, medical history).
- Responsibilities: Manages customer details such as names, contact information, and pet-related history (like adoptions).
- Key Features:
- Add, update, and remove customers.
- Manage customer addresses, phone numbers, and emails.
- Track customer interactions with pets (e.g., adoption history, customer preferences).
- Responsibilities: Handles the process of pet adoptions.
- Key Features:
- Track adoption status (e.g., available, pending, adopted).
- Manage adoption applications.
- Handle adoption agreements and paperwork.
- Responsibilities: Keeps track of pet health records, vaccinations, appointments, etc.
- Key Features:
- Record and manage medical history.
- Schedule vet appointments.
- Manage vaccinations and treatments.
- Track health conditions or ongoing treatments.
- Responsibilities: Manages the products available in the store, such as pet food, toys, grooming supplies, etc.
- Key Features:
- Add, update, and remove products.
- Track stock levels and inventory.
- Manage product categories (e.g., food, accessories, medicine).
- Responsibilities: Handles the sales of products and pet adoptions.
- Key Features:
- Track product purchases, cart management, and order history.
- Handle payment and transaction processing.
- Issue receipts and invoices.
- Responsibilities: Manages the logistics of delivering pet products or delivering pets after adoption.
- Key Features:
- Track shipping addresses and delivery preferences.
- Integrate with third-party delivery services.
- Monitor delivery status and logistics.
- Responsibilities: Handles sending notifications to customers or staff.
- Key Features:
- Send notifications for order updates, pet adoption status, reminders for medical appointments, etc.
- Integrate with email, SMS, and in-app messaging systems.
- Responsibilities: Manages all financial transactions, including payments for products or services.
- Key Features:
- Integrate with payment gateways (e.g., Stripe, PayPal).
- Track payment history and generate reports.
- Manage refunds or cancellations.
- Node.js
- Bun
-
Clone the repository:
git clone https://github.com/ViniciusCestarii/modular-pets.git cd modular-pets
-
Install dependencies:
bun install
Clone .env.example to .env and fill in the necessary environment variables.
cp .env.example .env
To start the project, run:
bun dev
To build the project for production, run:
bun run build
To run in production mode, run:
bun start
To run unit tests, use the following command:
bun run test
To run end-to-end tests, use the following command:
bun run test:e2e
To run the project using Docker, use the following commands:
-
Build the Docker image:
docker build -t modular-pets .
-
Run the Docker container:
docker run -p 3333:3333 --env-file .env modular-pets
OR
- Use Docker Compose to build and run the project:
docker-compose up
-
OBS1: Don't forget to fill in the necessary environment variables in the
.env
file. -
OBS2: Use the hostname
host.docker.internal
instead oflocalhost
to connect to the host machine from the Docker container.