API REST para un sistema de blog que permite a los usuarios registrarse, crear mensajes, seguir a otros usuarios y gestionar contenido.
- ✅ 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
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
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
docker exec -it postgresDB psql -U postgres -c "CREATE DATABASE Nombre_de_tu_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
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
Desde bash ejecuta los siguientes comandos
npm run dev
npm start
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í
git clone https://github.com/Kanoi1/blog-api-umes.git
cd blog-api-umes