Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luc-ribeiro/forum-clean-ddd-nest
Forum API developed to apply fundamentals of Domain-Driven Design, Clean Architecture and SOLID. The architecture was designed using DDD concepts, applying controllers, use cases, unit and E2E tests, domain events, relationships, uploads, cache and other concepts. Built with Nest.js.
https://github.com/luc-ribeiro/forum-clean-ddd-nest
clean-architecture cloudflare ddd nestjs prisma redis vitest zod
Last synced: about 2 months ago
JSON representation
Forum API developed to apply fundamentals of Domain-Driven Design, Clean Architecture and SOLID. The architecture was designed using DDD concepts, applying controllers, use cases, unit and E2E tests, domain events, relationships, uploads, cache and other concepts. Built with Nest.js.
- Host: GitHub
- URL: https://github.com/luc-ribeiro/forum-clean-ddd-nest
- Owner: luc-ribeiro
- Created: 2024-06-14T19:07:26.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-14T19:28:41.000Z (7 months ago)
- Last Synced: 2024-06-15T00:44:01.936Z (7 months ago)
- Topics: clean-architecture, cloudflare, ddd, nestjs, prisma, redis, vitest, zod
- Language: TypeScript
- Homepage:
- Size: 513 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-PTBR.md
Awesome Lists containing this project
README
Forum Clean Architecture DDD Nest.js
## 💻 Projeto
Este projeto implementa a camada de infraestrutura do [Forum Clean DDD Node](https://github.com/luc-ribeiro/forum-clean-ddd-node) construÃdo com Nest.js.
**Funcionalidades**
- **Criação e Edição de Perguntas:** Os usuários podem criar e editar perguntas. As perguntas podem conter anexos, como imagens e PDFs.
- **Respostas e Comentários:** Outros usuários podem responder às perguntas ou fazer comentários. Eles também podem adicionar anexos às suas respostas.
- **Upload de Anexos:** Os anexos são carregados para uma instância do Cloudflare R2.
- **Cache:** O Redis é usado para cachear os detalhes das perguntas, melhorando o desempenho do sistema.## 🚀 Tecnologias
- **Nest.js**
- **Node.js**
- **TypeScript**
- **Prisma ORM**
- **Redis:** Sistema de cache para otimizar o acesso aos detalhes das perguntas.
- **Vitest**
- **Cloudflare R2:** Armazenamento dos arquivos dos anexos.## :page_facing_up: Como usar
- Clone este repositório:
```sh
$ git clone https://github.com/luc-ribeiro/forum-clean-ddd-nest.git
```- Configure as variáveis do ```.env``` na raiz, seguindo o arquivo ```src/infra/env/env.ts```
- Instale as dependências:
```sh
$ npm install
```- Construa o container Docker:
```sh
$ docker compose up -d
```- Execute os testes:
```sh
# Para testes unitários
$ npm test# Para testes E2E
$ npm run test:e2e
```- Execute o projeto:
```sh
$ npm run start:dev
```