Recently, Auburn University hosted "AuburnHacks," an annual 24-hour programming competition. My team and I developed BookHawaii, a web application designed to make planning a trip to Hawaii seamless and enjoyable. This project was a fantastic opportunity to integrate various tools and resources, showcasing our proficiency in web development.
Inspiration Behind BookHawaii
Our team was inspired by the tropical allure of Hawaii. We aimed to create a platform that not only provided essential information about this paradise but also embodied its vibrant and inviting spirit. Most importantly, the competition was tropical themed.
What BookHawaii Offers
BookHawaii serves as a one-stop destination for anyone planning a trip to Hawaii. It features:
- Destination Insights: Detailed information on popular spots in Hawaii.
- Weather Forecasts: Real-time weather updates for various Hawaiian cities.
- Travel Costs: Estimates of airfare and hotel prices.
Our Development Journey
Building BookHawaii was both challenging and rewarding. Here's a glimpse into our process:
- Project Management: We used GitHub Projects for organizing our development workflow.
- Code Repository: Our code was stored and managed in a GitHub repository.
- Back-End Development: Django was our choice for the back-end, coupled with Django templates for the front-end.
- Hosting and Domain: The server was hosted on Digital Ocean, with the domain acquired from Domain.com.
- Database Management: MongoDB Atlas was used for storing city and weather data.
- API Integration: We utilized Weatherapi.com for weather data and Flyscanner API for flight costs.
- Front-End Design: MDBootstrap provided the HTML templates, which we customized for our needs.
- Collaboration Tools: Repl.it facilitated real-time HTML and Python collaboration.
- Automated Updates: We used crontabs to run a Python script that regularly updated the weather database.
Challenges and Learning
The journey wasn't without its hurdles:
- API Integration: Finding a suitable flight information API was tough.
- HTML Learning Curve: Our initial lack of HTML experience posed a challenge.
- Data Parsing: Parsing the correct forecast from WeatherAPI required effort.
- Access Issues: Auburn's WiFi restrictions led us to use a VPN for website access.
Despite these challenges, we're proud of our clean, user-friendly website and successful API integrations.
My Role in the Project
I focused on the back-end design using Django. I was responsible for integrating MongoDB and implementing Django templates to bring my partner's HTML designs to life.
Looking Ahead
This project was a significant learning experience, especially in database integration and security. I'm excited to apply these skills in future projects and continue exploring the vast possibilities in web development.