Skip to content

Digital Educational Resources on Astronomy (DEROA) API 🌟🚀

Notifications You must be signed in to change notification settings

deligarbur/deroa-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Educational Resources on Astronomy (DEROA) API 🚀 🔭 🪐

Descripción del Proyecto

deroa

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.

Funcionalidades ⚙️

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.

Autenticación 🔒

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.

Uso de la API ⚙️

Para utilizar la API en un proyecto, se pueden seguir los siguientes pasos:

  1. Clonar el repositorio desde GitHub.
  2. Instalar las dependencias necesarias (express, cors, mysql2, dotenv, jsonwebtoken, bcrypt).
  3. 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
  4. Ejecutar el servidor con node.

Documentación 📄

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.

Ejemplo de solicitud POST

  {
    "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"
  }

Tecnologías Utilizadas 💻

  • JavaScript
  • Backend: Node.JS
  • Servidor: Express JS
  • Base de datos: MySQL

En desarrollo 🔜

  • 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.

Contribuciones 💡

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! 🌟

telescope

About

Digital Educational Resources on Astronomy (DEROA) API 🌟🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 100.0%