Skip to content

JacklynBiggin/JourneyJunkie

Repository files navigation

⚠️ This is a Hackathon entry for Hack Western 5, and was created in under 36 hours. The code in this repo is likely to be hacky and potentially unstable/insecure, so please be careful if forking this repo. You can view the project's Devpost page here.

Journey Junkie

Inspiration

After many challenging trips with family and friends, everyone has struggled with planning events, whether that be an efficient route, or deciding which of the million possible things to do. Journey Junkie’s goal is to fix this problem via an intuitive web app.

What it does

Journey Junkie is a travel web application which helps develop optimized itineraries for people who have some specific destinations in mind, but are unsure how to use their remaining time. The app takes into account the length of the trip, budget of the traveller, distance between destinations, and the traveler's preferences calculate the best options for the user, and displays a streamlined user interface for ease of use.

How we built it

We used Standard Library as a way to proxy Googles APIs, allowing us to combine multiple API calls into one, and ensuring our API keys aren't leaked. We also developed our own APIs, allowing a lot of our code to be reusable.

Our frontend was built using Bootstrap, JavaScript, jQuery, HTML5 and CSS3, with the backend developed using PHP and Node.js.

We registered our .tech domain, JourneyJunkie.tech via Get.tech and our Domain.com, JSONDerulo.com via Domain.com.

Challenges we ran into

I took on the unique challenge of designing the front end of the project, including the forms and the logo. For me, the most challenging part of this was deciding on a design theory. Bootstrap's streamlined UI helped me design an intuitive and simple user experience that allowed me to spend lots of time adding interesting features like a changing wallpaper for the pages -Maanav

Certain parts of Standard Library were pretty difficult to get to grips with, as the documentation didn't always make things clear. We also ran into some strange bugs with PHPMyAdmin which really slowed things down, alongside us accidentally deleting a non-version controlled file. -Jack

Throughout the past 36 hours, I've found that working with new software and languages that I have never touched on before was quite a challenge. Learning their syntax, reading through the ever-so-long documentation and finding extremely specific examples online were definitely where I spent most of my time of throughout this event. Of all the new languages that I learnt this time around, I can confidently say that php is the most confusing of them all. -Jerry

As this was my first hackathon, and my first time using many of the languages and API used in our project, my biggest challenge was understanding the unique quirks of these languages. Debugging my code was also a nightmare because I did not understand most of what I was doing, and by extension what I was not doing, but I am glad that I had helpful teammates and documentation to guide me through the process.-Connie

Accomplishments that we're proud of

I’m really happy with the way my final logo came out. After about fifteen iterations, I’m happy to have created a logo I’m truly proud of! -Maanav

This was my first time using Node.js and Standard Library, two major parts of our hack. I had to adapt to use them pretty quickly, but think I managed to really well. -Jack

Coming into this event I was not expecting to demo at all but after hours of hard work, I felt like I was on top of the world when I click that "submit" button and everything worked as expected! There was nothing more exciting when we've actually managed to executed the plan that we've set out in the beginning. Although there were many hiccups along the way, I can proudly saying that our team is proud to stand behind of what we've came up with in the span of 36 hours. -Jerry

I am proud of actually building code that did not break the program, and about everything I learned during these last 36 hours. -Connie

What we learned

Since it was my first time working with APIs and forms extensively, I’m happy we were able to create a product with real functionality versus an idea that would fall through in application. I learned a lot about how to manage my time effectively at a hackathon to get lots of work done. -Maanav

I now know the basics of Node.js and how to develop a (fairly) standards compliant API, both of which are going to be really useful in the future. -Jack

Beside all the new languages that I've learned throughout this event (Node.js, php, JQuery, JavaScript, stdlib), I have also learnt that each member on the team has their own strength and weaknesses, and this is true for any teamwork. I find that it is very important we let each other know what our limits are, so that we can all shine at our best and rely on each other when we struggle. -Jerry

I learned about all the programming languages and APIs that we used, and how they interact with each other to build cohesive projects. Doing a bit of both frontend and backend development has helped me learn which aspects of both types of development I enjoyed the most, and gave me more exposure to software engineering. I also learned how to develop a software project with a team. I am very proud of how I have grown in a mere 36 hours, and am now ecstatic to participate in hackathons and workshops. -Connie

What's next for JourneyJunkie

The team is attending the next J(a)SON Derulo concert. Aside from personal affairs, the team believes a lot can be done to improve JourneyJunkie’s functionality, starting with the UI. Adding even more information, including destinations based on your hotel could help create a more useful application.