Logo Lanfrica

LuyandraBranco/safe-angola-api

Domaine:

peace and security

Type de record:

software
Créateur:
Luy
Hôte:
# SafeAngola API SafeAngola é uma API desenvolvida com **NestJS** para gerenciar detecção e alertas de acidentes rodoviários. A aplicação utiliza **PostgreSQL** como banco de dados e segue padrões como **Clean Architecture** e **Arquitetura Hexagonal**. ## 📌 Tecnologias Utilizadas - **NestJS** - Framework Node.js para aplicações escaláveis - **PostgreSQL** - Banco de dados relacional - **Prisma ORM** - Gerenciamento de banco de dados - **Docker** - Contêineres para ambiente isolado - **Arquitetura Hexagonal** - Modularização e separação de responsabilidades - **Clean Architecture** - Código desacoplado e testável --- ## 🚀 Como Executar a API ### **1️⃣ Pré-requisitos** Certifique-se de ter instalado: - Docker - Docker Compose - Node.js (se quiser rodar sem Docker) ### **2️⃣ Configurar Variáveis de Ambiente** Crie um arquivo `.env` na raiz do projeto e adicione: ```env DATABASE_URL=postgresql://admin:secret@db:5432/safeangola PORT=3000 JWT_SECRET=seu_segredo_aqui ``` ### **3️⃣ Rodando com Docker** Para subir a API e o banco de dados com Docker, execute: ```sh docker compose up -d ``` Isso iniciará o PostgreSQL e a API na porta `3000`. ### **4️⃣ Rodando sem Docker** Caso prefira rodar localmente: ```sh npm install # Instala as dependências npm run prisma:migrate # Executa as migrações do banco de dados npm run start:dev # Inicia a API em modo de desenvolvimento ``` --- ## 🏗 Arquitetura do Projeto O projeto segue a **Clean Architecture** e a **Arquitetura Hexagonal**, garantindo modularidade e testabilidade. ### 📂 Estrutura de Pastas ``` 📦 safeangola-api ┣ 📂 src ┃ ┣ 📂 application # Casos de uso e regras de negócio ┃ ┣ 📂 domain # Entidades e contratos da aplicação ┃ ┣ 📂 infra # Implementação de repositórios, serviços externos e banco de dados ┃ ┣ 📂 interface # Controladores e gateways de comunicação (REST, GraphQL, etc.) ┃ ┣ 📂 modules # Módulos do NestJS para organização …