Huddle
Event Discovery / Hosting Application
Introducing Huddle: Event Discovery and Hosting Platform
Huddle is a full-stack application that builds upon existing event management systems such as Ticketek and Eventbrite to offer unique and novel features that these systems do not have. Whether you’re a business looking to host events or an individual seeking exciting gatherings, Huddle has got you covered. Developed as part of our final year project by a dedicated team of five, Huddle combines cutting-edge technology with user-friendly features.
Features
In this application, we added various functionalities that are not seen in existing applications to provide a unique experience to our users. We have a rewards and gamification system to encourage customers' participation in their respective communities. Chat channels are available to everyone to communicate and live chat when attending the event.
This is a full-stack application and I was mainly responsible for the backend as some of my teammates were unfamiliar with SQL and database management. We used PostgreSQL as our database management system (DBMS) and hosted on Azure Cloud service. Then, using Psycopg2, Python and Flask we created APIs to establish communications between frontend and backend. We believe this helped us develop this application since everyone can access the database without spending time learning how to set up a database during early development. This allows us to focus on other important aspects such as frontend development and API designs.
Difficulty
One of the challenging aspects of this project is that this was the first time for us to build a full-stack application. In the past, we mainly built either a frontend or backend application and the rest was created by the starter code. So, this was a completely new experience for us. This is also proven by the fact that some of my teammates have no idea about database systems which shows the importance of teamwork. Nonetheless, this was a great learning experience and I had a great time spent with my teammates cracking up on this final product.
Teamwork
In this project, we used Jira to create sprints and allocate tasks. Each sprint was about 2 weeks in length with different tasks. These tasks are based on user stories and requirements that we created which include basic functionalities and some novel ideas.
Collaboration is the key aspect of this project and I think we did exactly what we were supposed to. We worked together from time to time and each week we had meetings or stand-ups to make sure everyone wasn't falling behind. Even when there is a problem whether it is from the backend or frontend, we fix it immediately with no excuses.
At the end of a sprint, we reflect on which part we did well or not to improve on the next sprint. When each sprint wrapped up, we'd huddle up to talk about what worked and what needed tweaking. In some cases, we had to make adjustments to our plans due to time limits. But even with those bumps, we pulled together something we're all proud of and the final product is still extensive and covers all important functionalities.
Reflection
Overall, this is the most memorable project so far and the most enjoyable part in this project probably is when we were thinking different ideas at the beginning. We thought of everything that we could implement such as live chat, a dashboard for event statistics for host and more. Some of them didn't make it in but I enjoyed thinking all the ideas coming into our application and how they would benefits.
Our teamwork would have worked better if we had organised our sprints and tasks better. At the end of some sprints, we had to move back some tasks as we couldn't finish them on time. This didn't happen on me in this case but certainly had some impacts as I wanted to test the the application with the whole application together. So if all the functionalities had finished by deadline, I would have spotted more bugs and fix them as early as possible.