This application is responsible for managing pet health plans.
This project is based on the principles of domain-driven design and clean architecture.
This project includes the following languages and libraries:
- Language: Typescript
- Runtime: Node
- Package management: Npm
- Web framework: Nest.js
- Cache Redis
- ODM Mongoose
- Formatter: Prettier
- Linter: Eslint
- Testing: Vitest
- Compiler: swc
- Email: Nodemailer
Auxiliary libraries and plugins were omitted but can be found in the package.json file.
To start development it is recommended to have these utilities installed in a local development machine:
Environment Variables Setup
To run the application locally, you'll need to create a file named .env in your project's root directory and populate it with the following environment variables:
APP_PORT(e.g.,3000)JWT_SECRET(your secret key)JWT_EXPIRATION(e.g.,1d)SALT(your secret salt)MONGO_DB_URL(your MongoDB connection string)EMAIL_HOST(your email server host)EMAIL_PORT(your email server port)EMAIL_USER(your email username)EMAIL_PASS(your email password)MAGIC_LINK_CALLBACK(your callback URL)
Remember: Never commit your .env file to version control or share it publicly.
docker compose up -d
npm install
npm run start:dev npm run test # unit tests
npm run test:e2e # end-to-endnpm run lintnpm run build/api/v1/docs