Skip to content

Repository files navigation

📚 Juridiq Books — Backend

API REST do Juridiq Books, construída com Fastify, Prisma e MySQL.


🚀 Pré-requisitos

  • Node.js 18+
  • MySQL rodando localmente (via instalador ou MySQL Workbench)

📦 Instalação

git clone https://github.com/LuizMath/BackEndBook.git
cd BackEndBook
npm install

⚙️ Variáveis de ambiente

Crie o arquivo .env na raiz do projeto:

BackEndBook/
├── .env ← aqui
├── src/
├── prisma/
└── ...
DATABASE_URL="mysql://seu_usuario:sua_senha@localhost:3306/book"DATABASE_USER="seu_usuario"DATABASE_PASSWORD="sua_senha"DATABASE_NAME="book"DATABASE_HOST="localhost"DATABASE_PORT=3306

🗄️ Criando o banco de dados

Opção 1 — MySQL Workbench

  1. Abra o MySQL Workbench e clique na sua conexão local para abrir
  2. Uma aba de query abrirá automaticamente — se não aparecer, clique no ícone SQL+ no canto superior esquerdo
  3. Digite e execute (selecione e pressione Ctrl+Enter ou clique no raio ⚡):
CREATEDATABASEbook;
USE book;
  1. O banco book aparecerá no painel Schemas à esquerda (atualize se necessário)

Opção 2 — Terminal

mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS book;"

🔄 Migrations

Após criar o banco, rode as migrations para criar as tabelas:

npx prisma migrate dev
npx prisma generate

▶️ Rodando o projeto

npm run dev

API disponível em: http://localhost:3001


🧪 Testes

npm test# roda uma vez
npm run test:watch # fica assistindo mudanças
npm run test:coverage # com cobertura

Adicione ao package.json:

"scripts": {
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage"
}

📡 Endpoints

MétodoRotaDescrição
POST/user/createCria um usuário
POST/book/createCadastra um livro
GET/bookLista livros (filtro opcional: ?title=)

About

API REST do Juridiq Books em Fastify, Prisma e MySQL, com validação Zod, rate limiting e testes em Vitest. Topics: nodejs, fastify, prisma, typescript, zod, rest-api, mysql, vitest

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages