Most hotels utilize a traditional model where their guests have to call their receptionists in order to make orders, request upkeap, and/or to keep track of their billing tabs. However, we wanted to create a turning point in this industry by offering a technological solution that would simply track each guest's needs. These needs would be transferred to managers who would overview this quick process.
What it does
Our app has two interfaces - one for the user and another for the manager. In order for the user to sign up on our platform, he or she would have to wait for the hotel manager to confirm their email addresses. Once signed in, he/she is able to view the hotel's menu - including orders - request upkeap, and ask for a "Do not Disturb" for their room. Whenever the user purchases a meal from the hotel, it would be tracked in their bill. Notifications of both the food delivery and readiness of upkeap would be sent.
The hotel manager would have the ability to observe the vacant and occupant rooms in their hotel. They can create bookings - using the email address signed up by the user - and reserve booking dates. They can also adjust the hotel menu - add or delete items one-by-one - which its new edits would be shown to the user.
How We built it
Using Swift 5, MongoDB, JS, Express
We worked on the iOS/iPadOS/macOS app. We used Swift 5.1 and, while using all the latest language features and system APIs (Dark Mode, Mac Catalyst, context menus, named colors), we made sure that the app is backwards compatible with iOS 11 and later. The app uses the OOP paradigm and MVC architecture.
Challenges we ran into
We had additional endpoints that were not yet implemented. Due to the large scale of our project - especially minimized to the constraints of the 24-hour period - we had to implement the major operations. However, if given more time, we would include more interfaces for the varied workers at the hotel. Connection also proved to be a challenge, as we had to rerun the script multiple times to connect the server to the UI script. Regardless, we tried to overcome our obstacles as best as possible and are proud of what we have created. There were a couple of challenges on the back-end side. Since MongoDB does not allow custom Schema types, and because we worked with a variety of different objects that all connected to each other, our solution was to store ObjectIDs and populate them while retrieving data, which proved to be a less practical solution to our needs.
Accomplishments that I'm proud of
Our team had a diverse set of skills that enabled all of our unique talents to come into one. Without each person's talent, we would have not been able to create a unique yet invigorating idea. Our creativity flowed well with each other, and we are proud of each other.
What I learned
We have learned not to be perfectionists especially when it comes to the small details and designs. We had to keep the time in mind, so we figured how to concise our grand plans into a small time frame.
What's next for HotelGo
To create a startup and expand it beyond and further.