Skip to content

Commit dc37d79

Browse files
committed
Merge branch 'develop' into tooling/ci-improvement
2 parents 36c7618 + e4e9de2 commit dc37d79

38 files changed

+665
-614
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ DB_PORT=
55
DB_USER=
66
DB_PASSWORD=
77
DB_DATABASE_NAME=
8-
DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE_NAME}?schema=public&sslmode=require"
8+
DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE_NAME}?schema=public"
99
SECRET_KEY=
1010

1111
HOST=::0.0.0.0

.env.local

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ 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"
109

1110
SECRET_KEY=batata
1211

.eslintrc.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,11 @@ module.exports = {
2121
'@typescript-eslint/explicit-function-return-type': 'off',
2222
'@typescript-eslint/explicit-module-boundary-types': 'off',
2323
'@typescript-eslint/no-explicit-any': 'off',
24+
"prettier/prettier": [
25+
"error",
26+
{
27+
"endOfLine": "auto"
28+
}
29+
]
2430
},
2531
};

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 SOS-RS
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 50 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,101 @@
1-
# README para o Backend do App de Ajuda em Enchentes
1+
# 🌊 Backend para 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
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.
3+
Este repositório contém o backend de um aplicativo projetado para ajudar na organização e distribuição de suprimentos, bem como na coordenação de voluntários durante enchentes no Rio Grande do Sul. Ele fornece APIs essenciais para a autenticação de usuários, gerenciamento de abrigos e suprimentos, e muito mais.
64

7-
## Tecnologias Utilizadas
5+
## 🛠 Tecnologias Utilizadas
86

9-
- **Node.js**: Ambiente de execução para JavaScript.
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.
7+
- **🟢 Node.js**: Ambiente de execução para JavaScript.
8+
- **🔗 Prisma**: ORM para Node.js e TypeScript, facilitando o gerenciamento do banco de dados.
9+
- **🐳 Docker**: Solução para desenvolvimento e execução de aplicativos em contêineres.
10+
- **🐦 Nest**: Framework de alto desempenho para aplicações web em Node.js.
11+
- **📦 PostgreSQL**: Banco de dados relacional robusto e eficiente.
1412

15-
## Dump do banco de dados
13+
## 🗂 Dump do Banco de Dados
1614

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.
15+
Para iniciar com dados de exemplo, utilize o dump do banco disponível em `prisma/migration/dev_dump.sql`. Este arquivo pode ser executado após as migrations estarem aplicadas.
2116

22-
## Configuração com Docker
17+
Se estiver usando Docker, os comandos para carregar o dump são:
2318

24-
Caso você esteja desenvolvendo frontend e não precise rodar uma instancia da API e do banco localmente, siga essas
25-
instruções:
19+
```bash
20+
# Copiar o dump para a pasta temporária do Docker
21+
docker exec -it cp backup.sql POSTGRES_CONTAINER_ID:/tmp/backup.sql
22+
# Importar o dump para o banco
23+
docker exec -i POSTGRES_CONTAINER_ID psql -U root -d DATABASE_NAME -f /tmp/backup.sql
24+
```
25+
26+
## 🐳 Configuração com Docker
2627

27-
1. Clone o .env de exemplo:
28+
Para desenvolvedores de frontend que não precisam executar localmente a API e o banco, siga estes passos:
29+
30+
1. Clone o arquivo `.env` de exemplo:
2831
```bash
2932
cp .env.local .env
3033
```
3134

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-
35+
2. Use o seguinte comando para criar e iniciar o banco via Docker:
3636
```bash
3737
docker-compose -f docker-compose.dev.yml up
3838
```
3939

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
40+
Adicione a porta do serviço de banco no `docker-compose.dev.yml` para acessos externos:
4241

4342
```yaml
4443
ports:
4544
- '5432:5432'
4645
- '4000:4000'
4746
```
4847

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.
51-
52-
## Configuração inicial para rodar localmente
48+
## 🚀 Configuração Inicial Local
5349

5450
1. Clone o repositório:
5551
```bash
5652
git clone https://github.com/seuusuario/projeto-enchentes-backend.git
5753
```
58-
2. Entre no diretório do projeto:
59-
```bash
60-
cd projeto-enchentes-backend
61-
```
62-
3. Instale as dependências:
54+
2. Instale as dependências:
6355
```bash
6456
npm install
6557
npx prisma generate
6658
npx prisma migrate dev
6759
npm run start:dev
6860
```
69-
4. Inicie o servidor:
61+
3. Inicie o servidor:
7062
```bash
7163
npm start
7264
```
73-
A API estará acessível via `http://localhost:4000`.
65+
A API estará disponível em `http://localhost:4000`.
7466

75-
## API Endpoints
67+
## 📡 API Endpoints
7668

77-
### Usuários
69+
### 🧑‍💻 Usuários
7870

79-
- **POST /users** - Cadastrar um novo usuário.
80-
- **PUT /users** - Atualizar um usuário existente.
71+
- **📝 POST /users** - Registra um novo usuário.
72+
- **🔧 PUT /users** - Atualiza um usuário existente.
8173

82-
### Sessões
74+
### 🚪 Sessões
8375

84-
- **POST /sessions** - Criar uma nova sessão de usuário (login).
85-
- **GET /sessions/:sessionId** - Obter detalhes de uma sessão.
86-
- **PUT /sessions/:sessionId** - Atualizar uma sessão específica.
76+
- **📝 POST /sessions** - Inicia uma nova sessão de usuário.
77+
- **👀 GET /sessions/:sessionId** - Retorna detalhes de uma sessão.
78+
- **🔧 PUT /sessions/:sessionId** - Atualiza uma sessão.
8779

88-
### Abrigos
80+
### 🏠 Abrigos
8981

90-
- **POST /shelters** - Cadastrar um novo abrigo.
91-
- **PUT /shelters/:shelterId** - Atualizar um abrigo existente.
92-
- **GET /shelters** - Listar abrigos.
82+
- **📝 POST /shelters** - Registra um novo abrigo.
83+
- **🔧 PUT /shelters/:shelterId** - Atualiza um abrigo.
84+
- **👀 GET /shelters** - Lista abrigos.
9385

94-
### Suprimentos
86+
### 📦 Suprimentos
9587

96-
- **POST /supply** - Cadastrar um novo item de suprimento.
97-
- **PUT /supplies/:supplyId** - Atualizar um suprimento.
98-
- **GET /supplies** - Listar suprimentos.
88+
- **📝 POST /supply** - Registra um novo item de suprimento.
89+
- **🔧 PUT /supplies/:supplyId** - Atualiza um suprimento.
90+
- **👀 GET /supplies** - Lista suprimentos.
9991

100-
### Categorias de Suprimentos
92+
### 🏷️ Categorias de Suprimentos
10193

102-
- **POST /supply-categories** - Cadastrar uma nova categoria de suprimentos.
103-
- **PUT /supply-categories/:categoryId** - Atualizar uma categoria de suprimentos.
104-
- **GET /supply-categories** - Listar categorias de suprimentos.
94+
- **📝 POST /supply-categories** - Registra uma nova categoria de suprimentos.
95+
- **🔧 PUT /supply-categories/:categoryId** - Atualiza uma categoria.
10596

106-
## Contribuição
97+
## 🤝 Contribuição
10798

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.
99+
Contribuições são muito bem-vindas! Se deseja ajudar, faça um fork do repositório, crie uma branch com suas modificações, e envie um pull request.
110100

111-
Sua participação é essencial para ajudarmos a comunidade afetada pelas enchentes no Rio Grande do Sul!
101+
Sua ajuda é crucial para apoiar a comunidade afetada pelas enchentes no Rio Grande do Sul!

0 commit comments

Comments
 (0)