Um template inicial pronto para produção que combina o poder do AdonisJS 6 no backend com a elegância do Nuxt UI 4 no frontend, conectados de forma transparente pelo Inertia.js.
Este template serve como uma base robusta e opinativa para a construção de aplicações web full-stack modernas. Ele vem pré-configurado com as ferramentas essenciais para um fluxo de trabalho de desenvolvimento rápido e eficiente, permitindo que sua equipe se concentre na construção de funcionalidades em vez de na configuração.
A base deste projeto é construída com tecnologias de ponta, escolhidas pela sua performance, robustez e excelente experiência de desenvolvimento.
| Categoria | Tecnologia | Descrição |
|---|---|---|
| Backend | AdonisJS 6 | Um framework Node.js robusto e elegante para a construção de APIs e aplicações web. |
| Frontend | Vue 3 | Um framework JavaScript progressivo para a construção de interfaces de usuário. |
| UI Kit | Nuxt UI 4 | Uma biblioteca de componentes Vue totalmente estilizada e acessível, construída sobre o Tailwind CSS. |
| Ponte | Inertia.js | Conecta o backend AdonisJS com o frontend Vue, criando uma SPA monolítica e fluida. |
| Estilização | Tailwind CSS | Um framework CSS utility-first para a criação rápida de designs customizados. |
| Bundler | Vite | Ferramenta de build extremamente rápida que oferece uma experiência de desenvolvimento superior. |
| ORM | Lucid ORM | O ORM oficial do AdonisJS, poderoso e com uma API expressiva para interações com o banco de dados. |
| Validação | VineJS | O validador de dados oficial do AdonisJS 6, incrivelmente rápido e com tipagem segura. |
Antes de começar, certifique-se de que você tem as seguintes ferramentas instaladas em sua máquina:
- Node.js (v20.10.0 ou superior)
- pnpm (v10 ou superior)
- Um cliente de banco de dados compatível com o Lucid (ex: PostgreSQL, MySQL, SQLite)
Siga os passos abaixo para configurar e executar o projeto localmente.
-
Clone o repositório:
git clone <URL_DO_REPOSITORIO> cd <NOME_DO_PROJETO>
-
Instale as dependências:
pnpm install
-
Configure o ambiente: Copie o arquivo de ambiente de exemplo e gere a chave da aplicação.
cp .env.example .env node ace generate:key
-
Configure o Banco de Dados: Abra o arquivo
.enve preencha as variáveis de conexão com o banco de dados (DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_DATABASE). -
Execute as Migrations: Este comando irá criar as tabelas necessárias no seu banco de dados.
node ace migration:run
-
Inicie o servidor de desenvolvimento: O projeto estará disponível em
http://localhost:3333.pnpm run dev
Este projeto inclui vários scripts para automatizar tarefas comuns de desenvolvimento:
| Script | Descrição |
|---|---|
pnpm dev |
Inicia o servidor de desenvolvimento com HMR (Hot Module Replacement). |
pnpm build |
Compila a aplicação para produção. |
pnpm start |
Inicia a aplicação em modo de produção (após o build). |
pnpm test |
Executa a suíte de testes com Japa. |
pnpm lint |
Executa o ESLint para analisar o código em busca de problemas. |
pnpm format |
Formata todo o código usando o Prettier. |
.
├── app/ # Lógica principal do backend (controllers, models, etc.)
├── config/ # Arquivos de configuração do AdonisJS
├── database/ # Migrations e seeds do banco de dados
├── inertia/ # Código do frontend (Vue components, layouts, pages)
│ ├── components/
│ ├── layouts/
│ ├── pages/
│ └── app.ts # Ponto de entrada do Inertia/Vue
├── public/ # Assets públicos
├── resources/ # Views do Edge (usado para o layout base do Inertia)
├── start/ # Arquivos de inicialização (rotas, kernel)
├── tests/ # Testes automatizados
└── ...
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto é distribuído sob a licença UNLICENSED. Veja o arquivo LICENSE para mais detalhes.