Skip to content

Latest commit

 

History

History
110 lines (85 loc) · 3.94 KB

README.md

File metadata and controls

110 lines (85 loc) · 3.94 KB

Web app for Wind Weather Forecasting

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:

01. Setup of the Node.js development environment

  • Setup Typescript
  • eslint
  • Jest + TypeScript
  • Setup integration tests with Superjest + types
  • Node.js Server Setup with Overnightjs (express.js)

02. Integration with external weather service

  • Integration with external service
  • API Design
  • Best practices 'error handling'
  • Dynamic configuration with node-config
  • Jest Mocks + Typescript

03. Creation of forecast service, core of API

  • Creation of the forecast service that processes the wind forecast for the chosen beaches

04. User module and database integration

  • Creation of the User module
  • Integration with MongoDB using Mongoose
  • Tests for integration with nock

05. Continuation of the User Module

  • 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

06. Production environment and continuous deployment

  • Setup of the Umbler environment (hosting)
  • Setup Github Workflows to run the tests
  • Setup of Github Workflows to automatically deply to Umbler

07. Applying Good Software Practices in the Cloud

  • Logger using pin
  • Graceful shutdown
  • Standard API error formatting

08. Rating Logic

  • Calculate the rating for each beach

09. Final

  • End-to-end tests with the front-end consuming the API
  • Rate limit
  • Open API documentation

________________________________ PORTUGUÊS ___________________________________________

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:

01. Setup do ambiente de desenvolvimento Node.js

  • Setup Typescript
  • eslint
  • Jest + TypeScript
  • Setup de Testes de integração com Superjest + types
  • Setup do servidor Node.js com Overnightjs (express.js)

02. Integração com o serviço de meteorologia externo

  • Integração com serviço externo
  • Design da API
  • Boas práticas 'error handling'
  • Configuração dinâmica com node-config
  • Jest Mocks + Typescript

03. Criação do forecast service, core da API

  • Criação do serviço de forecast que processa a previsão do vento para as praias

04. Módulo de usuários e integração com banco de dados

  • Criação do módulo de Usuários
  • Integração com MongoDB utilizando Mongoose
  • Testes de integração com nock

05. Continuação do módulo de usuário

  • 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

06. Ambiente de produção e continuous deployment

  • 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

07. Aplicando boas práticas de Software na Cloud

  • Logger utilizando pino
  • Graceful shutdown
  • Formatação padrão de erro da API

08. Lógica de rating

  • Calculo do rating (avaliação) para cada praia

09. Final

  • Testes de ponta a ponta com o front-end consumindo a API
  • Rate limit
  • Documentação com Open API

Tabatha Pradier, 2023.