Skip to content

Yorch82/Red-Social-Mongoose

Repository files navigation

Indice
  1. Introducción
  2. Descripción del proyecto
  3. Endpoints
  4. Licencia
  5. Contacto
  6. Conocimientos

Introducción

En el proyecto de backend se combinará los conocimientos adquiridos en las tecnologías node + express, además de MongoDB/mongoose. El proyecto consistirá en una red social.

Tecnologías

Aquí presentamos las herramientas empleadas en este proyecto:

Descripción

Una vez analizadas las necesidades del proyecto, se espera que el alumno desarrolle una API REST que sea capaz de lo siguiente:

  • Registro de usuarios usando Bcrypt.
  • Login de usuarios + token + middleware.
  • Que sea capaz de crear un CRUD.
  • Dar/quitar Like a post.
  • Backend disponible en producción (Heroku).

Instalación

  1. Para la instalación de la aplicación has de clonarte el siguiente repositorio:

    git clone https://github.com/Yorch82/Red-Social-Mongoose.git
  2. Tambien has de instalar las dependencias del proyecto:

    npm install
  3. Seeders:

    npm run data:destroy -> Vacía la Base de datos
    npm run data:import -> Rellena colecciones con datos de prueba
  4. Testing:

    Cambiar valor variable DB = false en .env    
    npm test:watch

Endpoints

Enlace a la documentación de Postman:

 https://documenter.getpostman.com/view/21013418/Uz5KkEKu

Esta es una lista de los Endpoints del proyecto que puedes ejecutar en Postman:

USUARIOS:

Metodo Endpoint Rol Funcion
POST /users/ user Crear nuevo usuario
POST /users/login user Login
PUT /users/logout user Logout
GET /users/getLoggedUser user Obtienes usuario loggeado
PUT /users/likes/:_id user Dar Like a post
PUT /users/dislikes/:_id user Quitar like a post
PUT /users/likeComment/:_id user Dar like a comentario
PUT /users/dislikeComment/:id user Quitar like a comentario
GET /users/getById/:_id admin Recupera un usuario por ID
GET /users/getByName/:_id_ admin Recupera un Usuario por nombre
PUT /users/follow/:_id user Seguir a un usuario
PUT /users/unfollow/:_id user Dejar de seguir a usuario
GET /users/getAll admin Crear pedido

POST:

Metodo Endpoint Rol Funcion
POST /posts/ user Crear nuevo post
DELETE `/posts/delete/:_id user Borrar pos por ID
PUT /posts/update/:_id user Actualizar post por ID
GET /posts/getAll admin Recupera todos los posts
GET /posts/getById/:_id admin Recupera post por ID
GET /posts/getByName/:title admin Recupera post por Nombre

COMMENTS

Metodo Endpoint Rol Funcion
POST /comments/ user Crear nuevo comentario
GET /comments/getAll admin Recupera todos los comentarios
PUT /comments/update/:_id user Actualiza comentario
DELETE /comments/delete/:_id user Borra comentario

Experiencia

  • Implementado testing con Jest teniendo que ahcer mocking a nodemailer para que no falle el test.
  • Implementado modelo seeders "casero"
  • Hemos perfeccionado la realización de pruebas API con el uso de Postman.

Licencia

Este programa es de código abierto y puede ser utilizado por cualquier persona que lo desee.

Contacto

Jorge - gitHub

Conocimientos

  • Uso de Node.js
  • MongoDB
  • Mongoose
  • Deploy Heroku
  • Testing con Jest
  • Swagger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published