Bienvenido al backend de JUNO, una aplicación web diseñada para proporcionar apoyo emocional a través de un diario personal, un calendario para gestionar eventos, y funcionalidades para conectar con amigos y rastrear tu bienestar. Este backend está construido utilizando Node.js, Express, y PostgreSQL.
El backend de JUNO proporciona la infraestructura necesaria para manejar usuarios, eventos, publicaciones y frases motivacionales. Permite la gestión de cuentas de usuario, autenticación segura con contraseñas encriptadas, y manipulación de datos relacionados con las emociones y actividades diarias de los usuarios.
- Node.js: Entorno de ejecución para JavaScript en el servidor.
- Express: Framework para construir la API del servidor.
- PostgreSQL: Sistema de gestión de bases de datos relacional para almacenar la información.
- bcrypt: Biblioteca para la encriptación de contraseñas.
-
Clona el repositorio:
git clone https://github.com/tu_usuario/juno-backend.git cd juno-backend
-
Instala las dependencias:
npm install
-
Configura tu base de datos:
Crea un archivo
.env
en la raíz del proyecto con la configuración de tu base de datos:DB_USER=postgres DB_PASSWORD=1234 DB_HOST=localhost DB_PORT=5432 DB_DATABASE=juno
-
Inicia el servidor:
npm run dev
El backend está configurado para escuchar en el puerto 5000
por defecto. Puedes interactuar con las rutas API para gestionar usuarios y publicaciones.
-
Crear Usuario
- Método:
POST
- Ruta:
/usuarios
- Cuerpo de la Solicitud:
{ "correo_electronico": "[email protected]", "nombre_completo": "Nombre Apellido", "fecha_nacimiento": "1990-01-01", "telefono": "123456789", "ciudad": "Ciudad", "contraseña": "mi_contraseña", "sexo": "M/F", "hora_alerta": "09:00:00" }
- Método:
-
Obtener Todos los Usuarios
- Método:
GET
- Ruta:
/usuarios
- Método:
-
Obtener Usuario por Correo Electrónico
- Método:
GET
- Ruta:
/usuarios/:correo_electronico
- Método:
-
Actualizar Usuario
- Método:
PUT
- Ruta:
/usuarios/:correo_electronico
- Cuerpo de la Solicitud:
{ "nombre_completo": "Nombre Actualizado", "fecha_nacimiento": "1990-02-01", "telefono": "987654321", "ciudad": "Nueva Ciudad", "contraseña": "nueva_contraseña", "sexo": "M/F", "hora_alerta": "10:00:00" }
- Método:
-
Eliminar Usuario
- Método:
DELETE
- Ruta:
/usuarios/:correo_electronico
- Método:
-
Crear Publicación
- Método:
POST
- Ruta:
/publicaciones
- Cuerpo de la Solicitud:
{ "contenido": "Este es el contenido de la publicación", "emocion_asociada": "Feliz", "fecha_evento": "2024-09-01", "correo_usuario": "[email protected]" }
- Método:
-
Obtener Todas las Publicaciones
- Método:
GET
- Ruta:
/publicaciones
- Método:
-
Obtener Publicación por ID
- Método:
GET
- Ruta:
/publicaciones/:id
- Método:
-
Actualizar Publicación
- Método:
PUT
- Ruta:
/publicaciones/:id
- Cuerpo de la Solicitud:
{ "contenido": "Contenido actualizado", "emocion_asociada": "Triste", "fecha_evento": "2024-09-02" }
- Método:
-
Eliminar Publicación
- Método:
DELETE
- Ruta:
/publicaciones/:id
- Método:
Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request si tienes mejoras o correcciones.
Distribuido bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.