@agtm/node-framework
v8.6.1
Published
Framework nodejs baseado no ExpressJs
Downloads
287
Readme
Projeto Node Framework
Framework minimalista para nodejs com objetivo de disponibilizar uma base de código pronta para o rápido inicio de projeto e codificação, utilizando tecnologias já disponíveis.
Instalação
Instale a ferramenta linha de comando ncli:
$ npm i -g @agtm/ncli
Podemos agora criar um novo projeto à partir de um template já configurado usando o comando:
$ ncli-create
Responda as perguntas conforme abaixo:
? Nome do projeto? <Nome do projeto, por padrão o nome da pasta, não pode conter caracteres especiais>
? Descrição do projeto: <Descrição Simples>
? Seu nome: <Seu nome e sobrenome, será usado ao configurar o projeto com npm>
? Informe um e-mail válido
? Você precisa criar pelo menos um app para este projeto.
Pronto, este script irá:
- Inicializa um projeto npm novo (npm init)
- Criar a estrutura básica de arquivos e diretórios com
- Configuração lint para qualidade de código
- Define dependencias produção de desenvolvimento, por exemplo @agtm/node-framework
- Testes configurado e pronto pra uso
- Script para automatizar tarefas reletivas
- Códigos de exemplo para facilitar inicio
Carregue assets (como imagens) no diretório public:
$ npm run install-assets
e execute a aplicação com:
$ npm run dev
Agora, no seu navegador acesso a url:
http://localhost:3001
Você deverá ver algo como isto:
Executando Jobs
TODO: Documentar como executar jobs e linkar para documentação de jobs
Entendendo o Framework
Clique aqui para entender como o framework funciona
Objetivos e Funcionalidades
Os principais objetivos deste projeto são:
- Exclusivo para Backend(nodejs)
- Utilização do framework ExpressJs
- Padrão ES6 com suporte ESM ou mais novo
- Suporte a jobs simples (Agendamento e execução continua)
- Suporte a socket com socket.io
Suporte Integrado à
- Apps - Possibilidade de importar outros modulos desenvolvido no Framework, como por exemplo um painel administrativo completo ou um simples gerenciador de erros. Apps funcionam como plugins que podem ser facilmente integrados ao framework.
- [Não funcional] Compilação binária (Intergração com o pacote pkg )
- Log Robusto (Integração com Winstonjs e GrayLog )
- Gestão de configuração
Outras funcionalidades podem ser facilmente implementada através de apps.
Agendamento
Baseado no modulo: https://www.npmjs.com/package/node-cron
export default class HelloWorldController extends Controller {
setup() {
this.schedule('* * * * *', () => {
console.log('Tarefa recorrente')
})
}
}
Padrão de Comunicação
Em requisições para clientes criados com nuxt-layer-adminlite-primeface, utilizamos o seguinte padrão de comunicação:
| Propriedade | Tipo | Descrição | |-------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | success | Boolean | Se a requisição concluída com sucesso | | type | String | Tipo de erro, a titulo de simplificação, durante a requisição se o erro for gerado no próprio frontend, será do tipo FRONTEND_ERROR. Outros exemplo de erro: GENERIC_ERROR, API_ERROR | | data | Object | Objeto com dados do erro ou com o resultado a requisição, cada requisição ou tipo de erro tem seu próprio layout |
Gerando Versão
git commit
npm run publis-[major|minor|patch]
Guia de Estilo
Disponibiliza um guia de estilo para melhorar qualidade e padronização de codificação:
Versões Nodejs:
[NÃO FUNCIONAL] Um dos objetivos do framework é a possibilidade de criar versões comerciais (binario) com a ferramenta pkg.
A ferramenta PKG utiliza uma versão própria do nodejs para gerar o binário e infelizmente nem sempre a ultima versão disponível pelo PKG é a ultima versão disponível do nodejs.
Então, caso pretenta criar binários do seu projeto, para evitar incompatibilidades, recomenda-se utilizar no desenvolvimento a mesma versão disponível pelo pkg.
Abaixo segue a ultima versão do nodejs em que o Node Framework foi desenvolvido e que também está disponível para geração de binário com PKG:
Versão do Framework (Apenas major e minor) seguido da versão do NODEJS
- [email protected] - [email protected] LTS
- [email protected] - [email protected] LTS - [email protected]
IMPORTANTE: Sempre que atualizar o Node Framework, verificar ultimas versões e atualizar aqui. Mantenha o histórico e sempre atualize a versão minor do Node Framework.
DICA: Verifique as versões do nodejs instaladas para o node-pkg aqui: /home/andre/.pkg-cache/
Arquitetura
Clique aqui para entender mais a fundo a arquitetura do framework
Guia de Desenvolvimento
Guia para desenvolvedores do Node Framework: