An open API service indexing awesome lists of open source software.

https://github.com/jonasjs/node-learning-lab


https://github.com/jonasjs/node-learning-lab

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# Node Learning Lab

Repositório criado visando compartilhar e registrar minha jornada de aprendizado em Node.js.

## Modulos

- [📚 1. Fundamentos do Node.js](#-fundamentos-do-nodejs)
- [🚀 Ver detalhes e código:](https://github.com/JonasJs/node-learning-lab/tree/main/fundamentals)
- [🚀 Desafio Prático:](#-desafio-prático-vanilla-node-rest-api)
- [📚 2. Rotas e HTTP (API REST com Fastify, Knex, TypeScript e testes e2e)](#-2-rotas-e-http-api-rest-com-fastify-knex-typescript-e-testes-e2e)
- [🚀 Ver detalhes e código:](https://github.com/JonasJs/node-learning-lab/tree/main/routes-and-http#rotas-e-http)
- [🚀 Desafio Prático:](#-desafio-prático-fastify-knex-typescript-api)
- [Testar Api:](#)

## 📚 1. Fundamentos do Node.js

Irei desenvolver uma API RESTful com Node.js focada nos fundamentos da tecnologia, sem frameworks ou bibliotecas externas. Aprenderemos sobre módulos internos do Node.js, especialmente HTTP e Streams, e sobre fundamentos HTTP como Requests, Responses, Headers, status codes e os diferentes tipos de parâmetros.

### 🚀 Desafio Prático: [Vanilla Node REST API](https://github.com/jonasjs/vanilla-node-rest-api/)

- Desenvolver uma API RESTful utilizando apenas Node.js vanilla
- Explorar módulos internos do Node.js (HTTP, Streams)
- Entender e aplicar os fundamentos HTTP (Requests, Responses, Headers, Status Codes, Params)

Projeto: [Vanilla Node REST API](https://github.com/jonasjs/vanilla-node-rest-api/)

### 🎓 Aprendizados

[![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat&logo=nodedotjs&logoColor=white)](https://nodejs.org/)
[![Streams](https://img.shields.io/badge/Streams-FFD700?style=flat)](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API)
[![HTTP](https://img.shields.io/badge/HTTP-008000?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP)
[![Request](https://img.shields.io/badge/Request-0000FF?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)
[![Response](https://img.shields.io/badge/Response-FF4500?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)
[![Headers](https://img.shields.io/badge/Headers-8A2BE2?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)
[![Status Code](https://img.shields.io/badge/Status_Code-4B0082?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
[![Params](https://img.shields.io/badge/Params-DC143C?style=flat)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)

## 📚 2. Rotas e HTTP (API REST com Fastify, Knex, TypeScript e testes e2e)
Desenvolver uma API RESTful utilizando Fastify, Knex e TypeScript, colocando em prática conhecimentos como migrations e testes e2e. O projeto de aprendizado envolve criar uma API para gerenciamento de transações financeiras, permitindo a criação de novas transações, obtenção de resumos de conta, listagem de todas as transações e visualização de transações específicas, com identificação do usuário entre as requisições sem autenticação e visualização restrita às transações criadas pelo próprio usuário.

[![Detalhes do Projeto](https://img.shields.io/badge/Ver_Detalhes_🔗-blue)](#)

### 🚀 Desafio Prático: [Fastify Knex TypeScript API](#)

### 🎓 Aprendizados
Veja tudo que foi aprendido neste tópico em: [Detalhes do Projeto](https://github.com/JonasJs/node-learning-lab/tree/main/routes-and-http)

[![Knex](https://img.shields.io/badge/Knex-000000?style=flat&logo=knex&logoColor=white)](https://knexjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![ESLint](https://img.shields.io/badge/ESLint-4B32C3?style=flat&logo=eslint&logoColor=white)](https://eslint.org/)
[![TSX](https://img.shields.io/badge/TSX-3178C6?style=flat&logo=typescript&logoColor=white)](https://www.npmjs.com/package/tsx)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-4169E1?style=flat&logo=postgresql&logoColor=white)](https://www.postgresql.org/)
[![SQLite](https://img.shields.io/badge/SQLite-003B57?style=flat&logo=sqlite&logoColor=white)](https://www.sqlite.org/index.html)
[![Migrations](https://img.shields.io/badge/Migrations-FF4500?style=flat)](https://knexjs.org/#Migrations)
[![REST Client](https://img.shields.io/badge/REST_Client-0078D4?style=flat&logo=visual-studio-code&logoColor=white)](https://marketplace.visualstudio.com/items?itemName=humao.rest-client)
[![Vitest](https://img.shields.io/badge/Vitest-6E4C13?style=flat&logo=vitest&logoColor=white)](https://vitest.dev/)
[![Tsup](https://img.shields.io/badge/Tsup-0A0A0A?style=flat&logo=esbuild&logoColor=white)](https://tsup.egoist.dev/)
[![Supertest](https://img.shields.io/badge/Supertest-0A0A0A?style=flat&logo=node.js&logoColor=white)](https://github.com/visionmedia/supertest)
[![Testing Pyramid](https://img.shields.io/badge/Testing_Pyramid-008000?style=flat)](https://martinfowler.com/articles/practical-test-pyramid.html)
[![Unit Tests](https://img.shields.io/badge/Unit_Tests-FFD700?style=flat)](https://en.wikipedia.org/wiki/Unit_testing)
[![Integration Tests](https://img.shields.io/badge/Integration_Tests-0000FF?style=flat)](https://en.wikipedia.org/wiki/Integration_testing)
[![End-to-End Tests](https://img.shields.io/badge/End_to_End_Tests-8A2BE2?style=flat)](https://en.wikipedia.org/wiki/End-to-end_testing)