API para o site mulheres-palestrantes em Node.js usando Koa e Sequelize.
O ambiente de desenvolvimento da aplicação utiliza Docker e Docker-Compose.
A aplicação é configurada através de variáveis de ambiente.
Para isso crie o arquivo .env
através do arquivo .env.sample
.
docker-compose up # constrói e executa os containers da aplicação
A aplicação suporta bancos Postgres e SQLite. Para camada de cache, utiliza o Redis.
O script de versionamento de banco de dados utiliza o Umzug.
docker-compose exec web npm run migrate up # executa as migrações do banco de dados
O seguinte comando popula o banco de dados a partir de um json no seguinte formato:
docker-compose exec web npm run seed https://raw.githubusercontent.com/insideoutprojectbr/mulheres-palestrantes/master/mulheres.json
Os testes da aplicação usam o framework Jest.
docker-compose exec web npm test # executa os testes unitários
docker-compose exec web npm run lint # executa o linter Eslint
A documentação da API está definida no formato OpenAPI(Swagger) e pode ser acessada em https://mulheres-palestrantes-api.herokuapp.com/api/docs.