Creado en React.js, hemos usado algunas dependencias como:
Disponen de un documento ".env.example" en la carpeta de backend y frontend, el cual debe ser rellenado en los campos libres y guardado en la raíz del directorio en cuestión como ".env"
Según los datos propios de Mysql para el backend.
Para el front solo debemos cambiar el nombre a ".env" si hemos configurado el puerto recomendado, en caso contrario cambiar el puerto.
Las variables SG_API_KEY y SENDGRID_FROM indicar los facilitados por http://sendgrid.com para tu propio usuario registrado.
La variable SECRET debe ser un string alfanumerico aleatorio.
Para iniciar el backend, nos situaremos en la raíz de backend y ejecutaremos en un terminal los siguientes comandos:
[npm install] Instala todas las dependencias necesarias para el correcto funcionamiento del sitio.
[npm run sql] Ejecuta el script que crea la base de datos, las tablas, y los datos necesarios.
[npm run dev] Ejecuta el servidor para poder trabajar, http://localhost:PORT con el fin de que cors funcione correctamente recomendamos el puerto: 8080
Para iniciar el frontend necesitamos tener como gestor de dependencias "yarn", nos situaremos en la raiz de frontend y ejecutaremos en un terminal los siguientes comandos:
[yarn] Para instalar todo lo necesario para poder probar la aplicación.
[yarn start] Ejecuta el servidor para poder trabajar, http://localhost:PORT con el fin de que cors funcione correctamente recomendamos el puerto: 3000
Usuarios admin: 'admin1', 'admin2', 'admin3'. Password: 123456 o lo que configuren en su ".env"
Usuarios regular: 'vmcauliffe3', 'mdwyer4'. Password: 12345678 o lo que configuren en su ".env"
Cada experiencia tiene las siguientes entradas :
Cada usuario tiene las siguientes entradas :
Cada experiencia puede contener distintas fotos y tiene las siguientes entradas :
Cada usuario puede realizar reservas de experiencias y las reservas tienen las siguientes entradas :
GET - [/experiences] - Obtener la lista de experiencias.
GET - [/experiences/:idExp] - Obtener los datos de una experiencia concreta
PUT - [/experiences/:idExp] - Editar la experiencia
DELETE - [/experiences/:idExp] - Elimina la experiencia
DELETE - [/experiences/:idExp/photo] - Elimina la img
POST - [/experiences] - Crea una nueva esperiencia
POST - [/experiences/:idExp/photo] - Añade una nueva img
GET - [/users/:idUser] - Obtener un usuario.
GET - [/users/validate/:registrationCode] - Valida el alta de un usuario
POST - [/users] - Crear un usuario
POST - [/users/login] - Logea el usuario restornando un tokent.
POST - [/users/:idUser/avatar] - Crear el avatar del usuario.
DELETE - [/users/:idUser] - Elimina la cuenta de un usuario.
DELETE - [/users/:idUser/avatar] - Eliminar el avatar del usuario.
PUT - [/users/:idUser] - Editar los datos de un usuario
PUT - [/users/:idUser/pwd] - Editar la contraseña de un usuario
PUT - [/users/recover/pwd] - Recuperar contraseña de un usuario
PUT - [/users/reset/pwd] - Modifica la contraseña de un usuario
GET - [/bookings] - Obtener todas las reservas
GET - [/bookings/:idBooking] - Obtener las reservas de una experiencia.
POST - [/bookings] - Crear una nueva reserva.
PUT - [/bookings/:idBooking/coments] - Crear un comentario de la reserva.
PUT - [/bookings/:idBooking/rating] - Agregar una Valoración sobre la reserva.
DELETE - [/bookings/:idBooking] - Cancelar una reserva.