Giter VIP home page Giter VIP logo

backend_nodejs_nlwexperts's Introduction

Projeto backend NLW-NODEJS

Tecnologias   |    Projeto   |    Steps   |    Licença

🚀 Tecnologias

Esse projeto foi desenvolvido com as seguintes tecnologias:

  • NodeJS
  • Typscript
  • Zod
  • Docker
  • PostgreSQL
  • Redis
  • Fastify
  • Prisma
  • HTTP com HOPPSCOTCH.IO

💻 Projeto

Backend Websocket realtime, projeto criado em Nodejs durante o evendo NLW-NODEJS para backend utilizando banco de dados, containers e Orm para facilitar a integração de tabelas e suas dependencias, alem de muito javascript....


🎲 Steps para criação de API

Para iniciar o projeto em node.js com o arquivo packega.json

npm init -y

Para utilização do typescript e integração com node.js, como desenvolvimento [-D]

npm install typescript @types/node -D

Para criação do arquivo de configuração do typescript

npx tsc --init

Link para configuração do tsconfig, mantido pela microsoft, conforme a versão do node

https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping

Para execução de typescript, precisamos da biblioteca abaixo que convert typescript em javascript, como desenvolvimento [-D]

npm install tsx -D

Configurar em package.json script de desenvovimento

  "scripts": {
    "dev": "tsx watch src/http/server.ts"
  },

Framework Fastify

npm i fastify

Executar o servidor

npm run dev

Para Utilização do Docker, após instalado, criar o arquivo docker-compose.yml com a imagem do Postgres, e executar o comando abaixo:

docker compose up -d

Para listar os containers que estão em execução

docker ps

Para verificar o log via ID de um container

docker logs ID

Para utilização de ORM [ Object Relational Mappers ], vamos utilizar Prisma , como desenvolvimento [-D]

npm i -D prisma

Para iniciar o prisma

npx prisma init

Configurar arquivo .env com informações de user, pass e database conforme docker-compose e na pasta prisma configurar o arquivo de schema

Executar o comando abaixo para criação de migrations:

npx prisma migrate dev

Para abrir a interface integrada do PRISMA

npx prisma studio

Usando client Http: HOPPSCOTCH

Instalando biblioteca de valização [ZOD]

npm install zod

Trabalhando com cookie

npm i @fastify/cookie

Biblioteca para manipulação do REDIS

npm i ioredis

Biblioteca para trabalhar com Websockets

npm i @fastify/websocket

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Author

Feito com ♥ by Rafael d Silva

backend_nodejs_nlwexperts's People

Contributors

rafael4g avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.