|
1 |
| -# README para o Backend do App de Ajuda em Enchentes |
| 1 | +# 🌊 Backend para App de Ajuda em Enchentes 🌊 |
2 | 2 |
|
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. |
6 | 4 |
|
7 |
| -## Tecnologias Utilizadas |
| 5 | +## 🛠 Tecnologias Utilizadas |
8 | 6 |
|
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 relacional 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. |
14 | 12 |
|
15 |
| -## Dump do banco de dados |
| 13 | +## 🗂 Dump do Banco de Dados |
16 | 14 |
|
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. |
21 | 16 |
|
22 |
| -Caso esteja no docker o dump pode ser carregado com os seguintes comandos: |
| 17 | +Se estiver usando Docker, os comandos para carregar o dump são: |
23 | 18 |
|
24 | 19 | ```bash
|
25 |
| -# Copiando o dump para a pasta temporária do docker |
| 20 | +# Copiar o dump para a pasta temporária do Docker |
26 | 21 | docker exec -it cp backup.sql POSTGRES_CONTAINER_ID:/tmp/backup.sql
|
27 |
| -# Importando o dump para o banco |
| 22 | +# Importar o dump para o banco |
28 | 23 | docker exec -i POSTGRES_CONTAINER_ID psql -U root -d DATABASE_NAME -f /tmp/backup.sql
|
29 | 24 | ```
|
30 | 25 |
|
31 |
| -## Configuração com Docker |
| 26 | +## 🐳 Configuração com Docker |
32 | 27 |
|
33 |
| -Caso você esteja desenvolvendo frontend e não precise rodar uma instancia da API e do banco localmente, siga essas |
34 |
| -instruções: |
| 28 | +Para desenvolvedores de frontend que não precisam executar localmente a API e o banco, siga estes passos: |
35 | 29 |
|
36 |
| -1. Clone o .env de exemplo: |
| 30 | +1. Clone o arquivo `.env` de exemplo: |
37 | 31 | ```bash
|
38 | 32 | cp .env.local .env
|
39 | 33 | ```
|
40 | 34 |
|
41 |
| -2. Criar e iniciar o banco via docker. Esse comando irá subir um container com a API e outro container com o banco |
42 |
| - Postgresql. |
43 |
| - Além disso, ele também irá rodar as migrations do Prisma e terá um banco com o schema já configurado. |
44 |
| - |
| 35 | +2. Use o seguinte comando para criar e iniciar o banco via Docker: |
45 | 36 | ```bash
|
46 | 37 | docker-compose -f docker-compose.dev.yml up
|
47 | 38 | ```
|
48 | 39 |
|
49 |
| -Se você estiver tendo problemas para acessar o banco via um gerenciador (dbeaver, etc), pode ser preciso adicionar o |
50 |
| -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: |
51 | 41 |
|
52 | 42 | ```yaml
|
53 | 43 | ports:
|
54 | 44 | - '5432:5432'
|
55 | 45 | - '4000:4000'
|
56 | 46 | ```
|
57 | 47 |
|
58 |
| -## Configuração inicial para rodar localmente |
| 48 | +## 🚀 Configuração Inicial Local |
59 | 49 |
|
60 | 50 | 1. Clone o repositório:
|
61 | 51 | ```bash
|
62 | 52 | git clone https://github.com/seuusuario/projeto-enchentes-backend.git
|
63 | 53 | ```
|
64 |
| -2. Entre no diretório do projeto: |
65 |
| - ```bash |
66 |
| - cd projeto-enchentes-backend |
67 |
| - ``` |
68 |
| -3. Instale as dependências: |
| 54 | +2. Instale as dependências: |
69 | 55 | ```bash
|
70 | 56 | npm install
|
71 | 57 | npx prisma generate
|
72 | 58 | npx prisma migrate dev
|
73 | 59 | npm run start:dev
|
74 | 60 | ```
|
75 |
| -4. Inicie o servidor: |
| 61 | +3. Inicie o servidor: |
76 | 62 | ```bash
|
77 | 63 | npm start
|
78 | 64 | ```
|
79 |
| - A API estará acessível via `http://localhost:4000`. |
| 65 | + A API estará disponível em `http://localhost:4000`. |
80 | 66 |
|
81 |
| -## API Endpoints |
| 67 | +## 📡 API Endpoints |
82 | 68 |
|
83 |
| -### Usuários |
| 69 | +### 🧑💻 Usuários |
84 | 70 |
|
85 |
| -- **POST /users** - Cadastrar um novo usuário. |
86 |
| -- **PUT /users** - Atualizar um usuário existente. |
| 71 | +- **📝 POST /users** - Registra um novo usuário. |
| 72 | +- **🔧 PUT /users** - Atualiza um usuário existente. |
87 | 73 |
|
88 |
| -### Sessões |
| 74 | +### 🚪 Sessões |
89 | 75 |
|
90 |
| -- **POST /sessions** - Criar uma nova sessão de usuário (login). |
91 |
| -- **GET /sessions/:sessionId** - Obter detalhes de uma sessão. |
92 |
| -- **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. |
93 | 79 |
|
94 |
| -### Abrigos |
| 80 | +### 🏠 Abrigos |
95 | 81 |
|
96 |
| -- **POST /shelters** - Cadastrar um novo abrigo. |
97 |
| -- **PUT /shelters/:shelterId** - Atualizar um abrigo existente. |
98 |
| -- **GET /shelters** - Listar abrigos. |
| 82 | +- **📝 POST /shelters** - Registra um novo abrigo. |
| 83 | +- **🔧 PUT /shelters/:shelterId** - Atualiza um abrigo. |
| 84 | +- **👀 GET /shelters** - Lista abrigos. |
99 | 85 |
|
100 |
| -### Suprimentos |
| 86 | +### 📦 Suprimentos |
101 | 87 |
|
102 |
| -- **POST /supply** - Cadastrar um novo item de suprimento. |
103 |
| -- **PUT /supplies/:supplyId** - Atualizar um suprimento. |
104 |
| -- **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. |
105 | 91 |
|
106 |
| -### Categorias de Suprimentos |
| 92 | +### 🏷️ Categorias de Suprimentos |
107 | 93 |
|
108 |
| -- **POST /supply-categories** - Cadastrar uma nova categoria de suprimentos. |
109 |
| -- **PUT /supply-categories/:categoryId** - Atualizar uma categoria de suprimentos. |
110 |
| -- **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. |
111 | 96 |
|
112 |
| -## Contribuição |
| 97 | +## 🤝 Contribuição |
113 | 98 |
|
114 |
| -Contribuições são bem-vindas! Se quiser contribuir, por favor faça um fork do repositório, crie uma branch para suas |
115 |
| -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. |
116 | 100 |
|
117 |
| -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