Este proyecto es una API REST de Recursos Educativos sobre Astronomía, desarrollado en javascript utilizando Node.JS, Express.JS y MySQL como base de datos.
La API permite realizar las siguientes operaciones:
- Listar todos los registros existentes.
- Insertar un nuevo registro.
- Leer registros filtrando por id.
- Actualizar los datos de un registro existente.
- Eliminar un registro existente.
Se ha implementado un sistema de autenticación con JWT con las siguientes funcionalidades:
- Registro de usuario rellenando los campos: email, nombre, dirección y contraseña.
- Login del usuario registrado.
- Autenticación del usuario y acceso a su perfil privado de datos personales.
Para utilizar la API en un proyecto, se pueden seguir los siguientes pasos:
- Clonar el repositorio desde GitHub.
- Instalar las dependencias necesarias (express, cors, mysql2, dotenv, jsonwebtoken, bcrypt).
- Configurar la conexión a la base de datosy crea un archivo
.env
en la raíz del proyecto con la siguiente configuración:DB_HOST=tu_host_de_base_de_datos DB_USER=tu_usuario_de_base_de_datos DB_PASSWORD=tu_contraseña_de_base_de_datos DB_NAME=nombre_de_tu_base_de_datos PORT=4000
- Ejecutar el servidor con node.
La API se puede consumir a través de las siguientes rutas:
- GET
/deroa/resources
: Obtiene todos los registros de recursos educativos. - GET
/deroa/resources/:id
: Obtiene un recurso educativo por su id. - POST
/deroa/resources
: Inserta un nuevo recurso educativo. - PUT
/deroa/resources/:id
: Actualiza un recurso educativo existente. - DELETE
/deroa/resources/:id
: Elimina un recurso educativo existente.
{
"title": "El sistema solar",
"url_resource": "https://www.muyinteresante.es/ciencia/el-sistema-solar",
"description": "Descubre datos curiosos sobre los planetas y el sol en nuestro sistema solar",
"level": "Intermedio",
"name_author": "Muy Interesante",
"url_author": "https://www.muyinteresante.es"
}
- JavaScript
- Backend: Node.JS
- Servidor: Express JS
- Base de datos: MySQL
- Subir el servidor de la API a algún servicio como Render para que esté disponible en Internet.
- Desarrollo de alicación Frontend que permita consultar alguno de los endpoint del API.
- Librería Swagger.
Si deseas contribuir al proyecto, puedes enviar un pull request con tus mejoras. ¡Gracias por tu interés en Digital Educational Resources on Astronomy (DEROA) API! 🌟