You can also read in English 🇺🇸
Uma ferramenta de linha de comando (CLI) que acelera o desenvolvimento de APIs em Node.js, gerando templates pré-configurados com as melhores práticas. Inclui configurações prontas para linting, TypeScript, testes e arquitetura bem estruturada.
Escolha entre os principais frameworks do ecossistema Node.js:
npx @darlan0307/api-boilerplate <nome-do-projeto>
npm install -g @darlan0307/api-boilerplate
api-boilerplate <nome-do-projeto>
Flag | Descrição |
---|---|
-f, --force |
Sobrescreve o diretório se já existir |
--lint |
Configura automaticamente ESLint e Prettier |
-t, --tests |
Prepara ambiente para testes unitários (Vitest, Jest ou Node Test Runner) |
-r, --root |
Cria o template na raiz atual (ao invés de criar uma nova pasta) |
npx @darlan0307/api-boilerplate minha-api --lint --tests
├── src
│ ├── @types
│ ├── app
│ ├── infra
| | ├── errors
| | ├── middlewares
│ │ └── logger.ts
│ ├── shared
│ ├── http-server.ts
│ └── main.ts
├── .env
├── .env.example
├── .gitignore
├── app.log
├── package-lock.json
├── package.json
├── README.md
├── tsconfig.build.json
└── tsconfig.json
- main.ts: É o ponto de entrada da aplicação, onde as configurações são carregadas, as classes são instanciadas e a API é iniciada.
- infra: Agrupa recursos essenciais ao funcionamento do sistema, mas que não fazem parte do domínio de negócios.
- shared: Reúne classes e funções genéricas, independentes de qualquer modelo específico, que podem ser reutilizadas em diversos pontos da aplicação.
- @types: Tipagens globais adicionais de bibliotecas/frameworks como o express, fastify e etc.
- 🐳 Containerização - Configuração Docker
- 🗄️ Banco de Dados - Integração com PostgreSQL, MongoDB e outros
- ⚡ Cache - Implementação de Redis, Memcached ou Node-cache
- 🔐 Autenticação - Templates com JWT e OAuth2
Contribuições são muito bem-vindas! Siga os passos abaixo:
- Fork o repositório
- Clone seu fork localmente
-
Crie uma branch para sua feature:
git checkout -b feature/nova-funcionalidade
-
Commit suas alterações:
git commit -m 'feat: adiciona nova funcionalidade'
-
Push para sua branch:
git push origin feature/nova-funcionalidade
- Abra um Pull Request explicando suas mudanças
Encontrou um problema? Abra uma issue com:
- Descrição detalhada do erro
- Passos para reproduzir
- Ambiente (OS, Node.js version, etc.)
Esse projeto está sob a licença (MIT) - acesse os detalhes aqui.
Darlan Martins
⭐ Gostou do projeto? Dê uma estrela no repositório para apoiar o desenvolvimento!