This is a more advanced project that I am developing step by step with the webclasses from Waldemar Neto on Youtube.
It's also being my biggest challenge so far. So each branch on my project covers some essential concepts and technologies organised step-by-step following the logic in the chapters:
- Setup Typescript
- eslint
- Jest + TypeScript
- Setup integration tests with Superjest + types
- Node.js Server Setup with Overnightjs (express.js)
- Integration with external service
- API Design
- Best practices 'error handling'
- Dynamic configuration with node-config
- Jest Mocks + Typescript
- Creation of the forecast service that processes the wind forecast for the chosen beaches
- Creation of the User module
- Integration with MongoDB using Mongoose
- Tests for integration with nock
- Advanced Validations with Mongoose
- Password encryption with bcrypt and Mongoose
- Unification of constrollers using an abstract Controller
- Json Web Token - Generating and validating tokens
- Express middleware
- Typescript module augmentation
- Setup of the Umbler environment (hosting)
- Setup Github Workflows to run the tests
- Setup of Github Workflows to automatically deply to Umbler
- Logger using pin
- Graceful shutdown
- Standard API error formatting
- Calculate the rating for each beach
- End-to-end tests with the front-end consuming the API
- Rate limit
- Open API documentation
Esse é um projeto mais avançado que eu estou desenvolvendo passo a passo com as web-aulas do Waldemar Neto no Youtube.
Esse está sendo o meu maior desafio de desenvolvimento de uma aplicação ponta a ponta até o momento, e é através do código que eu estou estudando e construindo ao longo das aulas que eu vou fortalecer vários conceitos e tecnologias nas etapas:
- Setup Typescript
- eslint
- Jest + TypeScript
- Setup de Testes de integração com Superjest + types
- Setup do servidor Node.js com Overnightjs (express.js)
- Integração com serviço externo
- Design da API
- Boas práticas 'error handling'
- Configuração dinâmica com node-config
- Jest Mocks + Typescript
- Criação do serviço de forecast que processa a previsão do vento para as praias
- Criação do módulo de Usuários
- Integração com MongoDB utilizando Mongoose
- Testes de integração com nock
- Validações avançadas com Mongoose
- Encriptação de senha com bcrypt e Mongoose
- Unificação dos constrollers utilizando um Controller abstrato
- Json Web Token - Gerando e validando tokens
- Express middlewares
- Typescript module augmentation
- Setup do ambiente da Umbler (hosting)
- Setup do Github Workflows para rodar os testes
- Setup do Github Workflows para fazer deply automaticamente para a Umbler
- Logger utilizando pino
- Graceful shutdown
- Formatação padrão de erro da API
- Calculo do rating (avaliação) para cada praia
- Testes de ponta a ponta com o front-end consumindo a API
- Rate limit
- Documentação com Open API