USARP Tool é uma ferramenta de apoio à adoção do método USARP na elicitação e especificação de requisitos de usabilidade em projetos de software.
- Node.js
- Express
- PostgreSQL ou MariaDB (via Sequelize ORM)
- JWT para autenticação
- bcrypt para hashing de senha
- nodemailer + handlebars para templates de e-mail
- helmet e cors para segurança
- date-fns e date-fns-tz para manipulação de datas
- Sequelize-CLI para migrações
- ESLint + Prettier para padronização de código
- Node.js (v18+)
- npm ou yarn
- PostgreSQL ou MariaDB rodando localmente ou em container
- Conta de e-mail SMTP (ex.: Gmail com senha de app)
Clone o repositório:
git clone https://github.com/seu-usuario/usarp-tool-api.git
cd usarp-tool-apiInstale as dependências:
npm installCrie um arquivo .env na raiz do projeto baseado no .env-example:
JWT_SECRET_KEY=
LOCAL_NODE_PORT=
DOCKER_NODE_PORT=
LOCAL_DB_PORT=
DB_PORT=
DB_NAME=
DB_HOST= # Quando rodando via docker-compose, use DB_HOST=db (o nome do serviço). Quando for conectar a um Postgres local, use localhost.
DB_USERNAME=
DB_PASSWORD=
DIALECT=
CORS_ORIGIN=(Opcional) Crie o banco de dados manualmente:
CREATE DATABASE usarp_db;Rode as migrações para criar as tabelas:
npx sequelize db:migrateModo desenvolvimento (com recarga automática):
npm run devSubir os containers:
docker-compose up -dParar os containers:
docker-compose downA API é documentada com Swagger (OpenAPI 3.0) para facilitar a exploração dos endpoints.
Após iniciar o servidor (localmente ou via Docker), acesse no navegador:
http://localhost:3333/docs📚 O que você encontra na documentação:
- Endpoints de autenticação (signup, login, recuperação de senha).
- Gerenciamento de usuários (perfil, atualização, exclusão de conta).
- Projetos (criação, listagem, detalhes).
- User Stories (registro individual e em lote, listagem com paginação).
- Sessões de Brainstorming (criação e listagem/contagem).