/TheOverlook

A hotel management application (solo project)

Primary LanguageJavaScript

The Overlook: A Hotel Management Application

Summary

This is a hotel management tool for hotel staff to manage activities like:

  • Adding and looking for customer details
  • Booking and filtering different types of rooms
  • Unbooking rooms
  • Making room service orders
  • Calculating/showing a customer's total bill.

Check the application here!

How to install

  1. Fork and clone down this repository
  2. In your Terminal, access the directory of this repository
  3. Run npm install to install the webpack dependencies
  4. Once it has finished installing, run npm start
  5. Copy the localhost address ex. http://localhost:8080/ in your Terminal and paste it into your browser

Screenshot

Testing Suite w/ Mocha, Chai & Spies

Design Process

I started the process by exploring a few hotel booking websites to get a general idea on color palettes and general structure of the pages, afterwards I came up with my own ideas.

Wireframes

A few design aspects changed over the week as I started coding more. I think it is essential to experience by yourself how a product works before you actually build it, it gave me a better idea on the steps of booking a hotel room and how I could implement them myself into my project.

Goals

  • Use OOP to drive the design of the application and the code
  • Separate business-logic code from view-related code
  • Use of a separate domUpdates.js file that handles any DOM manipulation
  • Synthesize knowledge of OOP, classes, and JS fundamentals
  • Write a program and UI/UX from scratch
  • Build this application by reading user stories
  • Fetch APIs to retrieve data
  • Write modular, reusable code that follows SRP (Single Responibility Principle) and SOLID principle
  • Create a robust test suite that thoroughly tests all functionality of a client-side application
  • Use of spies for testing the DOM manipulation

Built with:

  • JavaScript
  • HTML
  • SASS
  • Mocha, Chai & Spies
  • Sketch