hacer clone del repositorio
git clone https://github.com/samurodriguez/diario_viajes.git
abrir backend y frontend con visual studio code
cd diario_viajes
code ./backend
code ./frontend
en la terminal del frontend:
npm install
en la terminal del backend:
npm install
crear una base de datos vacía de mysql con el nombre que queráis
renombrar los .env.example del frontend y del backend a .env y rellenarlos con vuestros datos
❗ en mysql_database deberéis poner la base de datos que habéis creado
▶ max_hours_edit son las horas máximas que tiene un usuario para editar una entrada
en la terminal del backend:
node initDb.js
una vez hecho todo esto, solo quedaría iniciar el backend y el frontend 😄
en la terminal del backend:
npm start
en la terminal del frontend:
npm start
- Se trata de una web donde los usuarios publican entrada sobre viajes
- Cada entrada tiene un título, descripción, lugar y hasta 3 fotos asociadas
- Cada entrada puede ser votada con una puntuación entre 1 y 5
- POST - /users - Crear un usuario pendiente de activar ✅
- GET - /users/validate/:registrationCode - Validará un usuario recien registrado ✅
- POST - /users/login - Hará el login de un usuario y devolverá el TOKEN ✅
- GET - /users/:id - Devolver información del usuario | Token obligatorio y si el usuario coincide (o administrator) dar más información ✅
- DELETE - /users/:id - Borrar un usuario | Solo lo puede hacer el admin o si mismo ✅
- PUT - /users/:id - Editar un usuario (name, email, avatar) | Solo el propio usuario ✅
- PUT - /users/:id/password - Editar la contraseña de un usuario | Solo el propio usuario ✅
- GET - /entries - JSON con lista todas las entradas con filtro ✅ | orden y fotos | SIN TOKEN ✅
- GET - /entries/:id - JSON que muestra información de una entrada✅ | SIN TOKEN ✅
- POST - /entries - crea una entrada ✅ | TOKEN OBLIGATORIO ✅
- PUT - /entries/:id - edita el lugar o descripción de una entrada ✅ | TOKEN OBLIGATORIO y puede modificarlo solo el mismo usuario o admin (solo editable durante 2 horas) ✅
- DELETE - /entries/:id - borra una entrada ✅ | TOKEN OBLIOGATORIO y solo el mismo usuario o admin ✅
- POST - /entries/:id/photos - añade una imagen a una entrada ✅ | TOKEN OBLIOGATORIO y solo el mismo usuario o admin ✅
- DELETE - /entries/:id/photos/:photoID - borra una imagen de una entrada ✅ | TOKEN OBLIOGATORIO y solo el mismo usuario o admin ✅
- POST - /entries/:id/votes - vota una entrada ✅ | TOKEN OBLIGATORIO no puede votar el usuario que la creó y un usuario puede votar solo una vez ✅ | MIDDLEWARE de comprobación de que la entrada exista ✅
Cualquier error en la app o duda que tengáis, podéis consultarme por Slack o mandarme un correo a samuel.rodriguez.rey@hackaboss.com 🤓