Este es un proyecto final del bootcamp de JavaScript en el Backend de Código Facilito. Esta API permite la gestión de usuarios, posts y autenticación mediante endpoints RESTful.
- NestJs
- MongoDB
- JwT
- Passport
- Clona el repositorio desde GitHub.
- Instala las dependencias con
npm install. - Configura las variables de entorno en un archivo
.env.
POST auth/register- Registro de nuevos usuarios.
- Body:
{ "email": "correo_electrónico", "password": "contraseña", "role": "admin || user", "img": "url_img", "username": "nombre_de_usuario", }
POST /auth/login- Inicio de sesión para usuarios.
- Body:
{ "email": "correo_electrónico", "password": "contraseña" }
GET /users- Listado de usuarios.
GET /users/{id}- Obtener detalles de un usuario específico.
PUT /users/{id}- Actualizar un usuario específico.
DELETE /users/{id}- Eliminar un usuario (solo administradores).
POST /posts- Crear un nuevo post (solo usuarios registrados).
- Body:
{ "title": "Título del Post", "contentBody": "Contenido del Post", "img": "Url de la imagen", }
GET /posts- Listado de todos los posts.
- Query Params:
page(default: 1): Página de resultados.limit(default: 10): Cantidad de resultados.
GET /posts/{id}- Ver detalles de un post específico.
PUT /posts/{id}- Actualizar un post.
DELETE /posts/{id}- Eliminar un post.
GET /posts/user/{userId}- Ver todos los posts de un usuario específico.
GET /posts/search- Buscar posts por título.
- Query Params:
keyword: Término de búsqueda.page(default: 1): Página de resultados.limit(default: 10): Cantidad de resultados.
GET /posts/filter- Filtrar posts por autor.
- Query Params:
author: Autor para filtrar.
GET /admin/users- Obtener todos los usuarios (solo administradores).
DELETE /admin/users/{id}- Eliminar usuarios (solo administradores).
GET /admin/posts- Obtener todos los posts (solo administradores).
- Todos los endpoints protegidos requieren autenticación mediante un token.
- Las rutas administrativas requieren que el usuario sea un administrador.
Gracias a estas maravillosas personas: (emoji key):
Phoebe Sttefi Wilckens Díaz 📖 |