API RESTful para gerenciamento de usuários, livros, resumos e avaliações, parte do projeto MyReadify Frontend.
- Node.js + Express
- PostgreSQL (via Supabase)
- JWT para autenticação
- Swagger para documentação
- Postman para testes
- Jest + Supertest (testes automatizados)
myreadify-backend/
├── src/
│ ├── controllers/ # Lógica das rotas
│ ├── models/ # Models Sequelize
│ ├── routes/ # Rotas separadas
│ ├── middlewares/ # Middlewares personalizados
│ ├── config/ # Configurações (ex: Multer)
│ ├── database/ # Conexão com o banco de dados
│ └── server.js # Inicialização do servidor
├── tests/ # Testes com Jest/Supertest
├── docs/ # Coleção Postman
├── swagger.js # Configuração Swagger
└── .env
Este projeto utiliza o Supabase como banco de dados.
O backend estará disponível em http://localhost:3333
.
- Após o login, o token JWT é retornado.
- Use o token no header para acessar rotas protegidas:
Authorization: Bearer <seu_token>
Acesse a documentação Swagger para visualizar e testar as rotas da API:
👉 http://localhost:3333/api-docs
A documentação é gerada automaticamente a partir dos comentários nas rotas (/src/routes/*.js
).
Executa os testes com:
npm test
Testes incluídos:
tests/auth.test.js
tests/summaries.test.js
A coleção pronta para testar a API está no repositório:
Inclui:
- Autenticação
- Rotas protegidas
- CRUD de livros, usuários, reviews, etc.
Crie um arquivo .env
na raiz com o seguinte conteúdo:
PORT=3333
DATABASE_URL=postgresql://myreadify_user:myreadify_password@localhost:5432/myreadify_db
APP_SECRET=sua_chave_secreta
git clone https://github.com/nazare4lmeida/myreadify-backend.git
cd myreadify-backend
npm install
npm start
Feito por Nazaré Almeida, estudante de Análise e Desenvolvimento de Sistemas.