Skip to content

šŸ‘©ā€šŸ’»šŸ’”(UNDER-CONSTRUCTION ) Complete Node.js API built using: Typescript | Jest (Superjest) | MongoDB | Express.js (OvernightJS)

Notifications You must be signed in to change notification settings

tbathat/node-typescript-api-wind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

8 Commits
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

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.

About

šŸ‘©ā€šŸ’»šŸ’”(UNDER-CONSTRUCTION ) Complete Node.js API built using: Typescript | Jest (Superjest) | MongoDB | Express.js (OvernightJS)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published