Para ver el proyecto en funcionamiento: Los Cocos
El proyecto representa la página web de un hotel, que permite filtrar habitaciones en base a criterios de búsqueda introducidos por el usuario (fechas de entrada y salida, así como número de huéspedes). Además, el usuario podrá interactuar con los datos a fin de ver el precio final de la habitación y proceder al pago de la misma.
El reto que me he propuesto para realizar el proyecto ha sido utilizar únicamente Javascript, sin ningún tipo de framework.
Backend: he creado una REST API con Node.js que se nutre de un archivo JSON con los datos de las habitaciones a modo de base de datos.
Frontend: Una Single Page Application mediante JS y Hash-Based routing que realiza llamadas a la API con los parámetros de búsqueda introducidos por el usuario para obtener las habitaciones disponibles.
Aunque la idea ha sido realizar un proyecto entero con JS puro; si tuviera que realizar el proyecto de nuevo sin ningún tipo de limitación, probablemente optaría por los siguientes frameworks y librerías:
Backend: REST API Node.js y ExpressJS. Base de datos con MongoDB/Mongoose.
Frontend: SPA con React.
Para facilitar el uso del proyecto, he realizado deploy en Heroku de la API. El proyecto, tanto en local como en su versión en producción, apunta a esta API para obtener los datos de las habitaciones.
En el siguiente enlace de github puede verse el código: Los Cocos API
Para ver el archivo JSON con los datos de las habitaciones: Los Cocos Rooms
En caso de querer desplegar en local la API:
git clone git@github.com:sergiocrol/loscocos-back.gitSólo hace uso de "dotenv"
npm install
Se abrirá en el puerto 4000
npm start
O para utilizar nodemon:
npm run dev
Existe una versión en producción de la web que puede verse desde el siguiente enlace: Los Cocos
En cualquier caso, si se quiere ejecutar en local (en ocasiones la versión deploy puede ir algo lenta), tan solo sería necesario cambiar la variable "baseURL" del archivo "api/api.js" que apunta a la versión deploy, por la url "http://localhost:4000/".
Repositorio Backend Repositorio Frontend
