An open API service indexing awesome lists of open source software.

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.

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.