Indice
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.
Aquí presentamos las herramientas empleadas en este proyecto:
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).
-
Para la instalación de la aplicación has de clonarte el siguiente repositorio:
git clone https://github.com/Yorch82/Red-Social-Mongoose.git
-
Tambien has de instalar las dependencias del proyecto:
npm install
-
Seeders:
npm run data:destroy -> Vacía la Base de datos npm run data:import -> Rellena colecciones con datos de prueba
-
Testing:
Cambiar valor variable DB = false en .env npm test:watch
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 |
- 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.
Este programa es de código abierto y puede ser utilizado por cualquier persona que lo desee.
Jorge - gitHub
- Uso de Node.js
- MongoDB
- Mongoose
- Deploy Heroku
- Testing con Jest
- Swagger