Skip to content

Commit 7185fc8

Browse files
committed
feat: improve readme file
1 parent 6a2694c commit 7185fc8

File tree

6 files changed

+490
-35
lines changed

6 files changed

+490
-35
lines changed

.env.local

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ DB_DATABASE_NAME=sos_rs
66
DB_USER=root
77
DB_PASSWORD=root
88
DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE_NAME}?schema=public"
9+
; DATABASE_URL="postgresql://root:root@sos-rs-db:5432/sos_rs?schema=public"
10+
911
SECRET_KEY=batata
1012

1113
HOST=::0.0.0.0

README.md

Lines changed: 72 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,111 @@
11
# README para o Backend do App de Ajuda em Enchentes
22

3-
Este repositório contém o backend de um aplicativo desenvolvido para organizar e distribuir suprimentos, bem como coordenar voluntários durante os alagamentos no Rio Grande do Sul. O backend fornece APIs para autenticação de usuários, gerenciamento de abrigos e suprimentos, entre outros.
4-
5-
## Sobre o Projeto
6-
7-
O sistema backend é projetado para ser robusto e escalável, garantindo que possa lidar com o alto volume de acessos durante emergências. Ele opera com diversas APIs que permitem a interação com o frontend e outros serviços potenciais.
3+
Este repositório contém o backend de um aplicativo desenvolvido para organizar e distribuir suprimentos, bem como
4+
coordenar voluntários durante os alagamentos no Rio Grande do Sul. O backend fornece APIs para autenticação de usuários,
5+
gerenciamento de abrigos e suprimentos, entre outros.
86

97
## Tecnologias Utilizadas
108

119
- **Node.js**: Ambiente de execução para JavaScript.
12-
- **Express**: Framework para aplicação web para Node.js.
13-
- **MongoDB**: Banco de dados NoSQL para armazenar dados de forma eficiente.
14-
- **JWT**: Para autenticação segura via tokens.
10+
- **Prisma**: ORM para Node.js e TypeScript.
11+
- **Docker**: Plataforma para desenvolvimento, envio e execução de aplicativos em contêineres.
12+
- **Nest**: Framework para aplicação web para Node.js.
13+
- **PostgreSQL**: Banco de dados NoSQL para armazenar dados de forma eficiente.
14+
15+
## Dump do banco de dados
16+
17+
Após toda a configuração feita, seja local ou via docker, você pode subir um dump do servidor para ter dados iniciais
18+
para testar a aplicação.
19+
O dump está disponível no arquivo `prisma/migration/dev_dump.sql`. Para subir o dump, basta executar ele.
20+
Lembrando que a migrations já deve ter sido rodada para ele funcionar.
21+
22+
## Configuração com Docker
23+
24+
Caso você esteja desenvolvendo frontend e não precise rodar uma instancia da API e do banco localmente, siga essas
25+
instruções:
26+
27+
1. Clone o .env de exemplo:
28+
```bash
29+
cp .env.local .env
30+
```
31+
32+
2. Criar e iniciar o banco via docker. Esse comando irá subir um container com a API e outro container com o banco
33+
Postgresql.
34+
Além disso, ele também irá rodar as migrations do Prisma e terá um banco com o schema já configurado.
35+
36+
```bash
37+
docker-compose -f docker-compose.dev.yml up
38+
```
39+
40+
Se você estiver tendo problemas para acessar o banco via um gerenciador (dbeaver, etc), pode ser preciso adicionar o
41+
port do serviço db no docker-compose.dev.yml
42+
43+
```yaml
44+
ports:
45+
- '5432:5432'
46+
- '4000:4000'
47+
```
48+
49+
Se você estiver recebendo algum erro relacionado a PORT da DATABASE_URL, tem uma linha comentada no .env que pode ser
50+
descomentada para resolver o problema.
1551

16-
## Backlog
52+
## Configuração inicial para rodar localmente
1753

18-
- [ ] **Importar abrigos**: Importar a lista de abrigos e suas necessidades em csv para facilitar integração com outros sistemas.
19-
- [ ] **Criar sistema de notificação**: Notificar em algum canal (whatsapp, discord, telegram) sobre atualizações.
54+
1. Clone o repositório:
55+
```bash
56+
git clone https://github.com/seuusuario/projeto-enchentes-backend.git
57+
```
58+
2. Entre no diretório do projeto:
59+
```bash
60+
cd projeto-enchentes-backend
61+
```
62+
3. Instale as dependências:
63+
```bash
64+
npm install
65+
npx prisma generate
66+
npx prisma migrate dev
67+
npm run start:dev
68+
```
69+
4. Inicie o servidor:
70+
```bash
71+
npm start
72+
```
73+
A API estará acessível via `http://localhost:4000`.
2074

2175
## API Endpoints
2276

2377
### Usuários
78+
2479
- **POST /users** - Cadastrar um novo usuário.
2580
- **PUT /users** - Atualizar um usuário existente.
2681

2782
### Sessões
83+
2884
- **POST /sessions** - Criar uma nova sessão de usuário (login).
2985
- **GET /sessions/:sessionId** - Obter detalhes de uma sessão.
3086
- **PUT /sessions/:sessionId** - Atualizar uma sessão específica.
3187

3288
### Abrigos
89+
3390
- **POST /shelters** - Cadastrar um novo abrigo.
3491
- **PUT /shelters/:shelterId** - Atualizar um abrigo existente.
3592
- **GET /shelters** - Listar abrigos.
3693

3794
### Suprimentos
95+
3896
- **POST /supply** - Cadastrar um novo item de suprimento.
3997
- **PUT /supplies/:supplyId** - Atualizar um suprimento.
4098
- **GET /supplies** - Listar suprimentos.
4199

42100
### Categorias de Suprimentos
101+
43102
- **POST /supply-categories** - Cadastrar uma nova categoria de suprimentos.
44103
- **PUT /supply-categories/:categoryId** - Atualizar uma categoria de suprimentos.
45104
- **GET /supply-categories** - Listar categorias de suprimentos.
46105

47-
## Configuração Inicial
48-
49-
1. Clone o repositório:
50-
```bash
51-
git clone https://github.com/seuusuario/projeto-enchentes-backend.git
52-
```
53-
2. Entre no diretório do projeto:
54-
```bash
55-
cd projeto-enchentes-backend
56-
```
57-
3. Instale as dependências:
58-
```bash
59-
npm install
60-
```
61-
4. Inicie o servidor:
62-
```bash
63-
npm start
64-
```
65-
A API estará acessível via `http://localhost:4000`.
66-
67106
## Contribuição
68107

69-
Contribuições são bem-vindas! Se quiser contribuir, por favor faça um fork do repositório, crie uma branch para suas modificações e depois envie um pull request.
70-
108+
Contribuições são bem-vindas! Se quiser contribuir, por favor faça um fork do repositório, crie uma branch para suas
109+
modificações e depois envie um pull request.
71110

72111
Sua participação é essencial para ajudarmos a comunidade afetada pelas enchentes no Rio Grande do Sul!

docker-compose.dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ services:
2424
sh -c "npm install &&
2525
npx prisma generate &&
2626
npx prisma migrate dev &&
27-
npm run start"
27+
npm run start:dev"
2828
db:
2929
container_name: sos-rs-db
3030
image: postgres

0 commit comments

Comments
 (0)