Este é um projeto full-stack com um frontend em Angular e um backend em Node.js. O projeto serve como uma base sólida para a construção de aplicações web modernas.
A aplicação é dividida em duas partes principais:
server/: Um servidor backend construído com Node.js, Express, e TypeScript. Ele utiliza TypeORM para o ORM,typescript-restpara criar APIs RESTful, e JWT para autenticação.view/: Uma aplicação frontend single-page (SPA) construída com Angular 6, TypeScript, e Bootstrap.
- Node.js: Ambiente de execução JavaScript.
- Express: Framework web para Node.js.
- TypeScript: Superset do JavaScript que adiciona tipagem estática.
- TypeORM: Object-Relational Mapper (ORM) para TypeScript e JavaScript.
- typescript-rest: Biblioteca para criar APIs RESTful usando decorators.
- SQLite: Banco de dados SQL embarcado.
- JWT (JSON Web Tokens): Para autenticação segura.
- Winston: Biblioteca de logging.
- Swagger: Para documentação da API.
Maiores detalhes em View Backend
- Angular 6: Framework para construção de aplicações web.
- TypeScript: Linguagem principal para o desenvolvimento em Angular.
- Bootstrap 4: Framework CSS para design responsivo.
- SCSS: Pré-processador CSS.
- ngx-bootstrap: Componentes Bootstrap para Angular.
- Compodoc: Ferramenta para geração de documentação para projetos Angular.
Maiores detalhes em View Frontend
Antes de começar, certifique-se de ter as seguintes ferramentas instaladas em sua máquina:
- Node.js (versão 12 ou superior)
- NPM (geralmente vem com o Node.js)
- Angular CLI (para o frontend)
Siga os passos abaixo para configurar e rodar o projeto localmente.
git clone https://github.com/JulioCesar82/arquitetura-fullstack.git
cd arquitetura-fullstackcd server
npm install
npm startO servidor backend estará rodando em http://localhost:3000.
Em um novo terminal:
cd view
npm install
npm startA aplicação frontend estará disponível em http://localhost:4200.
npm start: Inicia o servidor em modo de desenvolvimento comnodemon.npm run build: Compila o código TypeScript para JavaScript.npm run lint: Executa o linter para verificar a qualidade do código.npm run generate-doc: Gera a documentação do código com TypeDoc.npm run generate-doc-api: Gera a documentação da API com Swagger.npm run db-migrate: Executa as migrações do banco de dados.
npm start: Inicia o servidor de desenvolvimento do Angular.npm run build: Compila a aplicação para produção.npm test: Executa os testes unitários com Karma.npm run lint: Executa o linter do Angular.npm run e2e: Executa os testes end-to-end com Protractor.npm run generate-doc: Gera a documentação do frontend com Compodoc.
Para gerar e visualizar a documentação da API:
- Navegue até o diretório
server. - Execute
npm run generate-doc-api. - Inicie o servidor com
npm start. - Acesse
http://localhost:3000/swaggerno seu navegador.
Para gerar e visualizar a documentação do frontend:
- Navegue até o diretório
view. - Execute
npm run generate-doc. - Execute
npm run serve-docpara servir a documentação emhttp://localhost:4201.
.
├── server/ # Código do Backend (Node.js)
│ ├── config/ # Arquivos de configuração
│ ├── src/ # Código fonte
│ │ ├── app/ # Lógica da aplicação (controllers, services, etc.)
│ │ ├── bootstrap/ # Scripts de inicialização
│ │ └── database/ # Migrações e seeds
│ └── ...
└── view/ # Código do Frontend (Angular)
├── src/
│ ├── app/ # Módulos e componentes do Angular
│ ├── assets/ # Arquivos estáticos (imagens, etc.)
│ └── ...
└── ...
- JulioCesar82 - Julio Ávila https://www.linkedin.com/in/juliocesar82
Contribuições são bem-vindas! Por favor, siga os seguintes passos:
- Faça um fork do projeto.
- Crie uma nova branch (
git checkout -b feature/nova-feature). - Faça suas alterações e commit (
git commit -m 'Adiciona nova feature'). - Envie para a branch original (
git push origin feature/nova-feature). - Abra um Pull Request.