Skip to content

BrainboxAPI — Backend em Node.js para gestão de conteúdos (artigos e vídeos), com autenticação JWT e integração via REST

Notifications You must be signed in to change notification settings

MaxsuelOliveira/brainbox-api

Repository files navigation

📚 BrainboxAPI - Base de Conhecimento (Vídeos e Artigos)

Este repositório contém a API (backend) BrainboxAPI, responsável por gerenciar autores, setores, categorias e artigos (em vídeo ou texto). Esta solução é ideal para organizações que desejam centralizar conteúdos de aprendizado e informação interna.

git clone https://github.com/MaxsuelOliveira/brainbox-api.git
cd brainbox-api
npm install

Maxsuel Oliveira

LinkedIn Instagram GitHub Rocketseat

🚀 Funcionalidades

  • Cadastro de autores, setores e categorias.
  • Publicação de artigos em texto ou vídeo.
  • Controle de usuários administradores com autenticação JWT.
  • Banco de dados Oracle via Docker + Prisma.
  • Total integração com frontend via endpoints RESTful.

🧰 Tecnologias Utilizadas

  • Node.js
  • Express.js
  • Prisma ORM
  • Oracle Database (via Docker)
  • JWT para autenticação
  • Bcrypt para hash de senhas
  • Dotenv para variáveis de ambiente

🐘 Banco de Dados com Docker (Oracle 21c)

Para rodar o Oracle via Docker, use o seguinte comando:

docker-compose up -d

O banco será iniciado com usuário, senha e banco padrão: oracle


📦 Instalação do Projeto

git clone https://github.com/seu-usuario/base-conhecimento-backend.git
cd base-conhecimento-backend
npm install

⚙️ Configuração do .env

Crie um arquivo .env na raiz com o seguinte conteúdo:

PORT=3000
HOST=localhost
DATABASE_URL="oracle://oracle:oracle@localhost:1521/oracle"
JWT_SECRET="sua_chave_secreta_super_segura"

🔄 Prisma ORM

Como o Oracle não suporta prisma migrate, use o comando:

npx prisma generate
npx prisma db push
npx prisma studio

🧪 Seed - Criar Usuário Admin

Cria um usuário padrão para login:

node prisma/seed.js

Credenciais:


▶️ Executando o Projeto

npm run dev

🔐 Autenticação JWT

Todas as rotas são protegidas. Envie o token JWT no header da requisição:

Authorization: Bearer SEU_TOKEN_AQUI

📁 Endpoints e Exemplos (Postman)

Coleção com exemplos práticos de uso da API disponível no Postman:

👉 Acessar Coleção


[## 👤 Autor

Maxsuel Oliveira

LinkedIn Instagram GitHub Rocketseat


📌 Observações Finais

  • Este projeto representa apenas o backend.
  • O frontend deverá consumir esta API REST para exibir os conteúdos.
  • Em ambientes de produção, utilize variáveis seguras e evite o uso de db push.

About

BrainboxAPI — Backend em Node.js para gestão de conteúdos (artigos e vídeos), com autenticação JWT e integração via REST

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published