Instrucciones rápidas para levantar el proyecto y probar los endpoints.
- Variables de entorno
Copiar el ejemplo y editar:
copy .env.example .env
O define DATABASE_URL directamente, por ejemplo:
DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/mi_base_de_datos_dev
PORT=3000
JWT_SECRET=tu_secreto_aqui
- Instalar dependencias
npm install
- Crear base de datos y ejecutar migraciones
npm run db:create
npm run db:migrate
- Cargar seeder de admin (opcional)
npx sequelize-cli db:seed:all
- Levantar servidor
npm run dev
- Endpoints de ejemplo (curl)
- Registrar usuario:
curl -X POST http://localhost:3000/auth/register -H "Content-Type: application/json" -d '{"nombre":"Juan","email":"juan@example.com","password":"123456"}'
- Login (recibir token):
curl -X POST http://localhost:3000/auth/login -H "Content-Type: application/json" -d '{"email":"juan@example.com","password":"123456"}'
- Crear categoría (usa token):
curl -X POST http://localhost:3000/categorias -H "Content-Type: application/json" -H "Authorization: Bearer <TOKEN>" -d '{"nombre":"Salas","descripcion":"Muebles para sala"}'
- Crear mueble (usa token):
curl -X POST http://localhost:3000/muebles -H "Content-Type: application/json" -H "Authorization: Bearer <TOKEN>" -d '{"nombre":"Sofa","tipo":"3 plazas","costo":"500","categoriaId":1}'
Si quieres, genero también una colección Postman JSON importable.
- Sube tu código a un repositorio en GitHub (o GitLab).
- En Render (https://render.com) crea un nuevo Web Service y conecta tu repo.
- Build Command:
npm install - Start Command:
npx sequelize-cli db:migrate && npm start
- Build Command:
- Crea una base de datos PostgreSQL en Render (Managed Database) o usa una externa.
- Copia la
DATABASE_URLque Render te provea.
- Copia la
- En la sección Environment del servicio en Render añade las variables:
DATABASE_URL= la URL de tu BD (p.ej.postgres://user:pass@host:5432/dbname)JWT_SECRET= cadena secreta para JWTPORT=3000(opcional)
- Si no usas el
startCommandque ejecuta migraciones, ejecuta las migraciones manualmente desde la consola de Render o añade unPost-Deployscript:npx sequelize-cli db:migrate.
Archivo útil: render.yaml está incluido en la raíz como ejemplo para crear el servicio desde la UI o con la CLI.
Notas de seguridad:
- No subas
.envcon secretos al repositorio. Usa las Environment Variables del proveedor. - Para producción, elige un plan de base de datos apropiado y un
JWT_SECRETfuerte.