https://github.com/fsmaiorano/nestjs-forum
📔This is a simple project that simulates a forum system. It is built with NestJS.
https://github.com/fsmaiorano/nestjs-forum
bcrypt docker docker-compose jwt lint nestjs nodejs passportjs postgresql prisma-orm supertest typescript vitest zod
Last synced: 3 months ago
JSON representation
📔This is a simple project that simulates a forum system. It is built with NestJS.
- Host: GitHub
- URL: https://github.com/fsmaiorano/nestjs-forum
- Owner: fsmaiorano
- Created: 2023-09-05T15:06:05.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-07T09:14:11.000Z (almost 3 years ago)
- Last Synced: 2025-02-15T00:22:52.408Z (over 1 year ago)
- Topics: bcrypt, docker, docker-compose, jwt, lint, nestjs, nodejs, passportjs, postgresql, prisma-orm, supertest, typescript, vitest, zod
- Language: TypeScript
- Homepage:
- Size: 226 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: security/private_key-base64.txt
Awesome Lists containing this project
README
## About
This is a simple project that simulates a forum system. It is built with NestJS.
## Architecture
Clean architecture is used to separate the application into layers. The layers are as follows: application, domain, and infrastructure. The application layer contains use-cases and all core implementations. The domain layer contains the business logic and models. The infrastructure layer contains the database context and migrations.
The implementation between the Api and the rest of the application is built with CQRS (Command and Query Responsibility Segregation), a pattern that separates read and update operations for a data store.
## Technologies Used
- NestJS
- NodeJS
- Typescript
- Postgres
- Prisma
- Docker
- Vitest
- Supertest
- JWT
- Bcrypt
- Lint
- Passport-JWT
- Zod
## How to run
### Prerequisites
- NodeJS
- NPM
- Docker
### Steps
1. Clone the repository
2. Run `npm install`
3. Run `docker-compose up -d`
4. Run `npm run start:dev
## How to run tests
1. Run `npm run test
2. Run `npm run test:2e2
### Prisma
1. Run `npx prisma migrate dev
2. Run `npx prisma studio
### Attention
- This project is still in development
- The .env file is included in the repository for testing purposes only. In a real project, it should be kept secret.
- The private and public keys are included in the repository for testing purposes only. In a real project, they should be kept secret.