This is a NestJS v10.x application built to interact with data of comic book characters with full CRUD functionality.
The project was created for refinement of NestJS knowledge. It also work as a skills showcase.
THIS IS A WORK IN PROGRESS
Name | Version |
---|---|
NestJs | v10.x + |
NodeJs | v20.11.x + |
Typescript | v5.3.x + |
Yarn | v1.22.x + |
Prisma | v5.x + |
MySQL | v8.0.x |
- Database with Prisma ORM
- Seeding
- Config variables (using .env file and @nestjs/config)
- Request validation with DTOs (using class-validator)
- Service layer to hold business logic
- Repository layer, allowing another ORM to be used if necessary as long as it respects the established contracts
- Base repository interface using typescript generics
- Authentication with JWT and Passport (the routes are protected with a guard using jwt strategy)
- Healthcheck route (to help validate the status of the api, indicating if available or not)
- Decorator that allows to get id of authenticated user
- Events and listeners for when character is created, updated or deleted. These events print messages to the console
- Api documentation (using Swagger)
- Units tests (using Jest)
- File with API endpoints inside folder workspace to be used to make requests on Visual Studio Code IDE with the extension REST Client (for when Postman or Insomnia are not available)
- Dockerfile with multi stage build
- Getting Started
- Accessing Database With Prisma Studio
- Project Structure
- Database Structure
- Development instructions
- CORS
- Running Tests
- Available Yarn Scripts
You can get more details about the api endpoints on the following link: