Inspiration
Our story began with a trip planned within our friend group. Organizing large trips with our friend group of 15-20 people proved to be a challenge. We often found ourselves having new people to join in on our trips, or people having to back out at the last minute. On top of this, fairly distributing costs became difficult as accurately forecasting all potential costs was near impossible. These are the problems we decided to tackle when making TripLight, the answer to all financial planning needs for any group trips. TripLight's ability to manage a group at any point remotely means that set-up can be done well in advance of the trip. Information can be accessed and updated mid-trip, allowing for fair distribution of money at any time without the hassle of having to split evenly on food and gas, or any such amenities.
What it does
Our website helps maintain connections by making trips run smoother and more efficiently. We take in several variables about where the trip is, how many people are going, what the overhead charge is, and more. Our service then allows the user to create a unique Trip name and ID for all their other members to access the trip details. From there they can see all the details that were provided such as the date, location, and the total cost along with what each person has to pay. You can also manage the trip in real-time and add/remove unexpected costs or unexpected guests.
How we built it
We built a Python Web server with a Hyper-Text Transfer Protocol to display information stored on our server onto our website. This was done with built-in Python server processing libraries. We constructed a simple website using HTML and CSS/SCSS to function as the general user interface, and with the help of JavaScript and a fetch API, we constructed XMLHTTP requests to our python Web Server to store and retrieve information about each registered trip, allowing for remote access to trip information by any member of the group that had the access credentials.
Challenges we ran into
Along the way, we ran into many unique Challenges. The biggest is our inexperience with Web Servers and Protocols. The creation of our server was simple, however, we faced a plethora of issues managing our GET and POST requests, primarily revolving around bypassing a CORS policy that denied our access to the Web Server. While these challenges were great, the easier but more creative challenge we faced was that of designing a data storage solution within our server to be able to save trip information effectively. We needed to store information in a way that was able to be accessed anywhere. A website would allow the information to be accessed from any device, allowing for easy access to managing trip costs while in the middle of the trip. Having information stored on a server also meant that we had remote data storage, allowing the information to be accessed from anywhere so long as the user had the right credentials.
Accomplishments that we're proud of
The Accomplishments that we are most proud of are related to how much we learned in this hackathon. As complete amateurs in web protocols and such, our Web Server is a very big accomplishment. Our experience in both website development and Web Server development was very limited, and as such, we faced many struggles in getting both parts of our project up and running and faced an even greater difficulty having the two components communicate with each. As we had many different and difficult errors related to this, to be able to conquer this hurdle felt invigorating.
What we learned
This hackathon taught us how to make and manage a Web Server. We also learned how to use HTTP protocols and methods such as GET and POST to connect to our website and vice versa using python. As for making our website, We came into this hackathon with a basic knowledge of HTML, CSS, and JavaScript. We left with a stronger understanding of how to work with the JavaScript fetch API to make XMLHTTP requests using AJAX.
What's next for TripLight
Our next steps are to add additional features to our service. These features would include a more extensive schedule for the trip that shows what's going to be happening on an hourly basis. Additionally, we aim to add user profiles for individual information, letting us track information about individual people. Following adding user profiles, we would complement this by adding a system that tracks information regarding each cost, such as where the money was spent and who initially paid for it. Another step is to add an AI service that can recommend activities close to the destination's location and fit the time the group is traveling.
Log in or sign up for Devpost to join the conversation.