-
Landing page, complete with entrance animations and hand-drawn animated art. The login button authenticates the user with Auth0.
-
Profile section, found after authenticating with Auth0. This section displays all active and inactive rooms associated with a user.
-
Sliding drawer allows easy and simple access to creating new Booths. This page automatically pushes to our database and refreshes the UI.
-
About our application, found by scrolling down from the landing screen.
-
Booth details page, shows all attendees who have shared their contact cards with you in an automatically updating table
Inspiration
Club and career fairs are fun experiences, but are plagued by two huge issues:
Having to carry around a huge stack of fliers, papers, and forms as you traversed the event was not only inconvenient, but extremely wasteful and harmful to the environment as well
The sheer quantities of people at these events usually meant little to no cell service, meaning students would have to remember which clubs they liked, and how to get in contact with them again
Our team sought to solve these issues with an intuitive, robust application that allows for both organizers, and attendees to easily engage with each other, reducing the mental headache inflicted on each attendee, and the physical strain inflicted on the planet.
What it does
The foundation of our platform is considered a "Booth". These booths are spaces created by the organizers for the attendees. When an attendee visits an organization, they use our custom built Flutter phone app to scan the booth's QR code and save the contact information to the phone's local storage. As the attendee traverses the event, they will accumulate numerous scans at interested clubs. Once they have reconnected to the internet, our application automatically communicates with the organizers to get the attendee more information, like websites, fliers, and contact details, all with zero hassle or human intervention.
Students also have the ability to create "Contact Cards" in the Flutter phone app, which can be shared with the Booth for two-way communication, helping facilitate better experiences between attendee and organizer.
Organizers have an intuitive online portal, protected by Auth0, to manage and maintain their active and inactive Booths. Upon logging in, they can see a detailed list of submitted contact cards from interested students, all directly built-in to the BoothBuddy user experience.
How we built it
BoothBuddy was built in two parts:
A TypeScript-based NextJS application which allows organizers to create, maintain, and manage their Booths. This application is supplemented by a CockroachDB SQL server, with 3 separate tables to contain data relating to rooms, users, and contact cards. The application was built with TailwindCSS for styling, Auth0 for security, and Prisma for database connections.
A Flutter-based phone application, tested in both Android and iPhone environments, which allows students to easily snap and store Booth QR codes, storing basic information about the organization in their phone immediately and pulling further data once internet connection has been reestablished. This application was written entirely in Dart, using the Flutter framework.
Challenges we ran into
This hackathon concept was by far the most advanced project idea anyone in our group had ever done. Entering the competition, only two of our members had programming experience, and we had zero experience in mobile development, the Dart programming language, and Flutter as a whole. A major challenge we experienced was balancing the sheer amount of work we had to accomplish, while also making sure everyone had a fair and equal share of work they felt passionate about.
Time was also a very challenging factor. 24 hours to build both a robust full-stack web application and a completely different phone application was definitely challenging, but we are proud of the efforts and strain we went through to come up with an end product we feel proud of presenting.
Accomplishments that we're proud of
By the end of this project, we all had gained extremely valuable experience in technologies we had never used prior. Two of our team members became knowledgeable in Flutter, a framework and language they had no experience in prior, and the other two became far more skilled in web development with React and TypeScript, using techniques and skills they had never used before.
The product we were able to present in the end was something we were all truly proud of, and while the path to the end might have been difficult, we are all more than happy with what we were able to come up with as a team.
What's next for BoothBuddy
We have a myriad of features planned to implement for BoothBuddy in the future. We believe this idea is absolutely something with promise, and are excited to continue our work on this idea in the future.
Built With
- auth0
- cockroachdb
- flutter
- nextjs
- prisma
- react
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.