Skip to content

Kanoi1/blog-api-umes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API de Sistema de Blog - Universidad Mesoamericana

Node.js Express.js PostgreSQL JWT OpenAPI

API REST para un sistema de blog que permite a los usuarios registrarse, crear mensajes, seguir a otros usuarios y gestionar contenido.

Características

  • ✅ Registro y autenticación de usuarios con JWT
  • ✅ Creación y gestión de mensajes tipo blog
  • ✅ Sistema de seguidores entre usuarios
  • ✅ Búsqueda y filtrado de mensajes
  • ✅ Documentación completa con OpenAPI/Swagger
  • ✅ Base de datos PostgreSQL con Docker

Instalación y Configuración

Prerrequisitos

debes instalar las siguientes dependencias si no las tienes

  • Node.js 18+
  • PostgreSQL 13+ o Docker
  • npm o yarn
  • gitbash si lo deseas
  • docker.desktop si se te es mas facil

Comandos de las dependencias

npm install npm install express pg cors dotenv npm install --save-dev nodemon npm install swagger-ui-express yamljs

Desde bash

Crear contenedor de PostgreSQL

docker run --name NombredeTupreferencia -e POSTGRES_PASSWORD=TU_Contraseña -p 5432:5432(verifica bien tus puertos ya que los proporcionados pueden estar ya utilizados) -d postgres

Conectarse y crear la base de datos

docker exec -it postgresDB psql -U postgres -c "CREATE DATABASE Nombre_de_tu_base_de_datos;"

Estructura de la base de datos

La API utiliza PostgreSQL con las siguientes tablas:

  • users: Almacena información de usuarios (id, email, password, created_at)

  • messages: Almacena mensajes con referencias a usuarios

  • followers: Gestiona relaciones de seguimiento entre usuarios

Configurar variables de entorno

Copia el archivo .env.example a .env y configura las variables: cp .env.example .env

Edita el archivo .env con tus configuraciones: PORT=3000 DB_HOST=localhost o Tu host DB_PORT=5432 o Tus puertos DB_NAME=Tu_base_de_datos DB_USER=postgres DB_PASSWORD=Tu_Contraseña JWT_SECRET=tu_clave_secreta_jwt_muy_segura_aqui

Para iniciar la aplicacion

Desde bash ejecuta los siguientes comandos

Modo desarrollo

npm run dev

Modo producción

npm start

Endpoints Principales

Método Endpoint Descripción Autenticación POST /api/auth/register Registrar usuario No POST /api/auth/login Iniciar sesión No GET /api/blog/messages/latest Últimos mensajes No POST /api/blog/messages Crear mensaje Sí GET /api/blog/messages/feed Mensajes de seguidos Sí POST /api/blog/follows/{id} Seguir usuario Sí

1. Clonar el repositorio

git clone https://github.com/Kanoi1/blog-api-umes.git
cd blog-api-umes

About

Api rest para el sistema de un blog, capaz de realizar gestion de usuarios y mensajes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published