Logo Lanfrica

wilsonjoaquim/concursos-pme

Domaine:

socioeconomic

Type de record:

software
Créateur:
wil
Hôte:
Desenvolver uma plataforma digital B2B de apoio à gestão de concursos privados e processos de contratação e.ntre pequenas e médias empresas em Angola, com a finalidade de facilitar a divulgação de oportunidades, a submissão e acompanhamento de propostas e o apoio à tomada de decisão # Plataforma Digital B2B — Gestão de Concursos Privados para PMEs em Angola Esta plataforma digital B2B permite a gestão e classificação de concursos privados para Pequenas e Médias Empresas (PMEs) em Angola, com suporte para perfis de Contratante, Concorrente e Administração. O projecto foi desenvolvido em **FastAPI (Python)** e estruturado seguindo uma arquitectura limpa em camadas (Layered + Service Layer) para garantir a conformidade técnica, facilidade de manutenção e segurança. --- ## Stack Tecnológica & Requisitos - **Backend:** Python 3.12+, FastAPI, SQLAlchemy, Alembic, PostgreSQL 16 - **Ambiente Recomendado:** Docker e Docker Compose - **Testes:** Pytest (com base de dados SQLite em memória) --- ## Como Executar o Projecto com Docker Para executar o projecto com Docker, utilize o **Docker Compose**. Este inicializará o servidor de API e a base de dados PostgreSQL automaticamente. ### Passo 1: Configurar Variáveis de Ambiente O ficheiro `.env` **não é versionado no Git** (contém segredos). Copia o modelo incluído no repositório e ajusta os valores: ```bash cp .env.example .env ``` Variáveis mais relevantes: * `DATABASE_URL` / `POSTGRES_*`: Ligação com a base de dados local no contentor. * `SECRET_KEY`: gera uma chave própria com `openssl rand -hex 32`. * `FIRST_SUPERUSER_EMAIL` / `FIRST_SUPERUSER_PASSWORD`: credenciais do Administrador inicial. * `INTERNAL_API_KEY`: chave partilhada entre o backend e o n8n (ver secção "Automação de IA (n8n)" abaixo). * `GROQ_API_KEY` / `N8N_API_KEY`: só são necessárias se quiseres activar a verificação de conformidade por IA. ### Passo 2: Construir e Iniciar os Contentores Execute o seguinte comando na raiz do projecto: ```bash docker compose up -d --build ``` *Isto criará e executará os contentores do `backend` (porta `8000`), da base de dados `db` e do `n8n` (porta `5678`).* ### Passo 3: Executar as Migrações da Base de Dados (Alembic) Para criar a estrutura de tabelas físicas no PostgreSQL recém-criado, execute …

Languages