Uma API para gerenciamento de conteúdo, construída com TypeScript, Node.js e clean-architecture.
Antes de começar, certifique-se de ter instalado:
- Git - Para controle de versão
- SSH configurado com GitHub - Para acesso aos repositórios privados
- Node.js (via nvm) - Ambiente de execução JavaScript
- npm - Gerenciador de pacotes (instalado com Node.js)
- Docker - Para containerização (Instalação)
- Ansible - Para automação de configuração (Instalação)
Siga as instruções oficiais para instalar o NVM: NVM Installation Guide
Após instalar o NVM:
nvm install --lts
nvm use --ltsgit clone git@github.com:F3-Organization/api-content-flow.git
cd api-content-flowExecute o comando abaixo para configurar tudo automaticamente:
npm run setup-devEste comando irá:
- ✅ Configurar as variáveis de ambiente (.env)
- ✅ Instalar todas as dependências
- ✅ Construir e iniciar os containers Docker
npm run up-dev| Script | Descrição |
|---|---|
npm run setup-env |
Configura variáveis de ambiente (.env) |
npm run setup-dev |
Setup completo para desenvolvimento |
npm run up-dev |
Inicia containers Docker |
npm run up-dev-build |
Inicia containers Docker com rebuild |
npm run test |
Executa testes unitários |
npm run coverage |
Executa testes com relatório de cobertura |
npm run update-swagger |
Atualiza documentação Swagger |
O projeto utiliza Ansible para automatizar a configuração das variáveis de ambiente:
- Repositório de Configurações: As variáveis ficam em um repositório privado separado
- Chave SSH: Usa sua chave SSH local (
~/.ssh/id_ed25519) para acessar o repositório - Automação: O Ansible clona o repositório e copia o arquivo
.env.development - Segurança: Suas credenciais ficam seguras e não são versionadas no código
config-repo/
└── .env.development
src/
├── application/ # Casos de uso e lógica de aplicação
├── domain/ # Entidades e regras de negócio
├── infra/ # Infraestrutura (DB, HTTP, etc.)
└── config/ # Configurações da aplicação
- API Documentation: Acesse
http://localhost:1500/api/swagger-docs/quando o servidor estiver rodando - Database Schema: Consulte
docs/database/DDL.sql - Docker Compose: Configuração em
docker-compose-dev.yaml
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Copyright (c) 2025 Felipe Oliveira Souza. Todos os direitos reservados.