Skip to content

REST API de Social Media com rotas para cadastro e login de usuários e criações e interações com posts.

License

Notifications You must be signed in to change notification settings

joaov1ct0r/nodejs-prisma-restAPI-blog

Repository files navigation

nodejs-prisma-restAPI-blog

EM DESENVOLVIMENTO

Sobre

REST API de Blog com rotas para cadastro e login de usuários e criações e interações com posts feita com JavaScript utilizando o runtime NodeJS com o framework Express e TypeScript, protegendo rotas com JWT, autenticando dados de entrada com a biblioteca Joi, criando models, migrations e armazenando os dados no banco de dados PostgreSQL com o ORM Prisma.

Testes unitários e de integração feitos com framework de testes Jest e SuperTest.

Ambientes de produção e desenvolvimento criados em containers Docker utilizando Dockerfile para multi-stage building e Docker Compose para orquestração de containers.

Requisitos

  • NodeJS

  • Docker

  • Docker Compose

MODO DE USO

GIT


FAÇA O DOWNLOAD DOS ARQUIVOS OU USE SSH:
git pull git@github.com:joaov1ct0r/nodejs-prisma-restAPI-blog.git

VARIAVEIS DE AMBIENTE


ABRA O ARQUIVO .env E ALTERE AS VARIAVEIS DE AMBIENTE COM SEUS DADOS(USE .env.example COMO EXEMPLO)

  • SERVER_HOST = HOST DO SEU SERVER
  • SERVER_PORT = PORTA QUE VOCÊ QUEIRA RODAR O SERVIDOR
  • DB_HOST = ROTA PARA SEU BANCO DE DADOS
  • DB_USER = SEU USUARIO DO BANCO DE DADOS
  • DB_PASSWORD = SENHA DO SEU BANCO DE DADOS
  • DB_DATABASE = NOME DO SEU BANCO DE DADOS
  • DB_DATABASE_TEST = NOME DO SEU BANCO DE DADOS DE TESTE
  • DB_PORT = PORTA DO SEU BANCO DE DADOS
  • JWT_TOKEN_SECRET = SEU JWT TOKEN SECRET
  • NODE_ENV = AMBIENTE DO SEU NODE

SERVER


APOS TER OS ARQUIVOS EM SUA MAQUINA ESCOLHA O MODO EM QUE QUER RODAR O PROJETO:
PRODUÇÃO:
DIGITE EM SEU TERMINAL: sudo docker compose up --build -d


DESENVOLVIMENTO:
DIGITE EM SEU TERMINAL: sudo docker compose up -f docker-compose.dev.yaml --build -d

APOS INICIAR O PROJETO EM SEU MODO PREFERIDO VA PARA A ROTA:
http://localhost:3000/api/docs PARA VER AS ROTAS DISPONIVEIS PARA FAZER AS REQUISIÇÕES

Releases

No releases published

Packages

No packages published

Languages