https://github.com/MatheusAndrade23/go-books-backend
API de uma plataforma de leilão de livros, desnvolvido com NestJs + Typescript.
https://github.com/MatheusAndrade23/go-books-backend
clean-architecture cloudflare docker domain-driven-design e2e-tests nestjs nodejs postgresql prisma swagger tests unit-testing vitest
Last synced: about 2 months ago
JSON representation
API de uma plataforma de leilão de livros, desnvolvido com NestJs + Typescript.
- Host: GitHub
- URL: https://github.com/MatheusAndrade23/go-books-backend
- Owner: MatheusAndrade23
- Created: 2024-07-23T01:19:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-31T15:41:30.000Z (about 1 year ago)
- Last Synced: 2025-03-14T13:51:19.167Z (7 months ago)
- Topics: clean-architecture, cloudflare, docker, domain-driven-design, e2e-tests, nestjs, nodejs, postgresql, prisma, swagger, tests, unit-testing, vitest
- Language: TypeScript
- Homepage:
- Size: 235 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🛒 Go Books 📒
Tecnologias •
Rodar LocalmenteÉ um site de leilão de livros! Onde usuários podem vender ou comprar.
Clique para ver o FrontEnd!---
Tecnologias Utilizadas 🛠
#### FrontEnd: `NextJS!`
- TypeScript
- Material Ui
- React HookForm
- Zod
- Axios
- React Toastify
- Context API
- React Hooks#### BackEnd: `NestJS!`
- TypeScript
- Prisma
- Docker
- Bcrypt
- JWT
- Vitest
- Supertest
- Swagger#### Banco de Dados: `PostgreSQL!`
---
Como rodar localmente 🛠
Pré-requisitos
Antes de começar, verifique se você tem as seguintes ferramentas instaladas em sua máquina:
Docker: Para gerenciar contêineres.
Docker Compose: Para orquestrar múltiplos contêineres.
Node.js: Para executar o código do projeto.
PostgreSQL: Para o banco de dados local (opcional se estiver usando Docker).
1. Clone o Repositório
Primeiro, clone o repositório do projeto para sua máquina local. Use o seguinte comando no terminal:
```bash
git clone https://github.com/MatheusAndrade23/Go_Books_Backend.git
cd Go_Books_Backend
```
2. Configurar o Arquivo .env
No diretório do projeto, preencha as variáveis de ambiente no arquivo .env com as informações necessárias:
```bash
# Prisma Database URL
DATABASE_URL="postgresql://:@localhost:/"# JWT Private and Public Key
JWT_PRIVATE_KEY="sua_chave_privada"
JWT_PUBLIC_KEY="sua_chave_publica"# Cloudflare Account ID
CLOUDFLARE_ACCOUNT_ID="seu_id_da_conta"# AWS S3 Storage of Cloudfare
AWS_BUCKET_NAME="seu_nome_do_bucket"
AWS_ACCESS_KEY_ID="seu_access_key_id"
AWS_SECRET_ACCESS_KEY="sua_secret_access_key"
```
3. Instalar PostgreSQL (opcional se estiver usando Docker)
Se você não estiver usando Docker, instale o PostgreSQL em sua máquina. As etapas de instalação variam de acordo com o seu sistema operacional. Você pode seguir as instruções oficiais do PostgreSQL para sua plataforma:
- Windows: https://www.postgresql.org/download/windows/
- macOS: https://www.postgresql.org/download/macosx/
- Linux: https://www.postgresql.org/download/linux/
4. Iniciar os Contêineres
No terminal, execute o seguinte comando para iniciar os serviços definidos no docker-compose.yml:```bash
docker-compose up -d
```Esse comando fará o download da imagem necessária e iniciará os contêineres.
5. Instalar Dependências do Projeto
Após iniciar os contêineres, instale as dependências do projeto. Execute:```bash
npm install
```6. Executar as Migrações do Prisma
Para configurar o banco de dados, execute as migrações do Prisma:```bash
npx prisma migrate deploy
```7. Iniciar a Aplicação
Para iniciar a aplicação, digite no terminal:```bash
npm run start
```8. Acessar a Aplicação
A aplicação deve estar rodando em http://localhost:3333. Acesse http://localhost:3333/docs para ver a documentação.