A Front-End Project by Jessica Justice.
- Overview
- Planning Resources
- Set Up
- Learning Goals
- Technologies
- Features
- Challenges
- Wins
- Future Additions
This is a Turing School of Software and Design - Module 2 solo project.
The purpose of this project was to test knowledge of Mod 2 concepts, including iterator methods, unit-testing, making API requests, and implementing SASS and techniques to ensure users experience a responsive and intuitive design across multiple screen sizes.
The project was Overlook, an app that tracks a user's hotel bookings at the fictitious Overlook hotel, including all their past and current room bookings and their corresponding information, as well as the total price they have spent on all their rooms to date. The app also gives users the ability to search for available rooms by date, to filter those results by room type, and to book any available rooms they would like. Room bookings made on the app are POSTed to the corresponding API, and the DOM is updated instantly. To get to their user dashboard, however, a user must first log in to the app by providing a username and password, and can later log out of the app when they are finished.
My task on this project was to build out the skeleton layout provided, as well as a log in page, including the responsiveness of the app on various screen sizes, to make for a better UI, as well as to write unit tests for each class I implemented for the app. All data used on the app I fetched with an API, and I implemented POST request functionality for booking rooms that subsequently updates the DOM. To style the app, I implemented SASS files, mixins, and variables to DRY up the code, and implemented a reset file so that the styling carries across multiple browsers. I also ensured that the user dashboard scores a 100% on the Lighthouse Accessibility audit.
Clone down this repo: Overlook API
cd into directory and run:
npm install
To start the server, run:
npm start
Clone down this repository to your local machine, then install the library dependencies by running:
npm install
To start application, run:
npm start
If you see Compiled successfully
in your terminal, the application is running and the app can be veiwed at http://localhost:8080/
in your browser. Make sure this application, and the Overlook API server, are both running to ensure you see the right information displayed on the app.
To log in to the app, you can choose any username between customer1
through customer50
with the password overlook2021
.
- Webpack
- SASS
- Fetch API -> Making GET and POST requests/Error handling
- CSS Grid and Responsive design
- HTML5
- SCSS
- Vanilla JavaScript ES6
- Git
- GitHub
- Webpack
- Fetch API
- Lighthouse
- Mocha
- Chai
- Making POST requests
- Implementing proper error handing for fetch requests
- Styling
- Getting a better understand of the fetch API
- Creating log in and log out functionality (the latter is my own extension)
- Implementing a date picker
- Writing all of the code in 3 days!
- Add hotel room photos
- Implement an intermediary view that lets the user know their room was booked before returning to the dashboard view
- Implementing the Manager extension:
- Creating a manager log in who can add or remove booking for individual customers