Esta API RESTful proporciona acceso a información sobre diferentes puntos de interés en Asturias, como áreas de autocaravanas, playas, rutas, arte prerrománico y más. Está diseñada para posteriormente integrarse con una aplicación web interactiva basada en Leaflet.
Desarrollada en Node.js + Express.
Base de datos MySQL gestionada con Sequelize ORM y dockerizada.
- Node.js
- Express.js
- MySQL
- Sequelize ORM
- JWT (JSON Web Tokens) para autenticación
- Bcrypt para encriptación de contraseñas
- Docker y Docker Compose
src/
|-- config/
|-- controllers/
|-- middlewares/
|-- models/
|-- routes/
|-- utils/
- Clona el repositorio.
- Asegúrate de tener Docker y Docker Compose instalados.
- Lanza los contenedores:
docker-compose up --buildLas variables de entorno necesarias .env-example
POST /auth/register : Registro de nuevo usuario
POST /auth/login : Login y obtención de token JWT
POST /auth/logout : Logout (el cliente debe borrar el token)
GET /user : Listar usuarios (admin only)
GET /area
GET /beache
GET /council
GET /museum
GET /preroman
GET /rockArt
GET /route
Se usa Bearer Token en Authorization para las rutas protegidas.
Para registrar usuarios normales:
{
"name": "Andrea",
"email": "andrea@ejemplo.com",
"password": "1234"
}
El rol por defecto es user.
El admin solo se puede crear manualmente en la base de datos.
Este proyecto está licenciado bajo la licencia MIT. Consulta el archivo LICENSE para más información.