Event Locator
How it all began
It was my last year in university, and of course, with the last year comes the last year's project (also known as a "graduation project"). So me and my partner (who happens to be one of my best friends) Adel Minwer got to work trying to come up with a cool and interesting idea to implement.
We wanted to come with an idea that would be fun to implement, an idea that would give us the opportunity to learn and grow, an idea that provides value to its users. We were ambitious, and thus, the idea of Event Locator was born.
What is Event Locator?
Event Locator is a platform for organizing and registering for public events, it was divided into two applications, the first was targeted to be used by event organizers, they to create and manage their events, while the second, was for participants who wanted to register for and attend events. All of this was connected to one backend server and a database.
Core features: Organizers' app
Event organizers had a variety of options when it came to creating events, they could create events with multiple sessions spanning multiple days, giving them flexibility to fine grain the timing of their events.
They could also choose whether the event is remote or in a physical place, and for the latter, they could limit the number of participants that can attend.
In order to ensure that the people who are actually registered for the event are admitted, we created a ticketing system, whenever someone registers for a limited event, a QR code gets generated, using the app, the organizer can scan the QR code to let participants into the place where the event is being held.
After the event is finished, organizers can access statistics about the event, notably, the number of people who attended and the percentage of people who attended compared to the total number of registrants.
Additionally, organizers can manage their profiles, by adding bios, contact info, and social links, they can also view their followers.
Core features: Participants app
As soon as users open the app, they get to see a feed of all upcoming events, they can expand each event and read about its details, and eventually register for one of the events.
They can also check any Organizer's profile and follow ones they are interested in, and in the home page, a different tab shows upcoming events that are organized by organizers the user follows.
Additionally, users can filter out events on the home page based on a wide variety of criteria to match what they're looking for.
And finally, they can manage their profiles and check the events they are registered for and attended in the past.
Technologies used
For the apps, the primary technology used was the Android framework using Kotlin programming language and using Retrofit2 package to handle API calls.
For the backend, it was built using NodeJS, the underlying database was a MySQL database, Firebase was also used to handle push notifications, and SendGrid was used to manage the emails that get sent out to users when performing certain actions.
A little bit of JSX was used to serve a small admin page that's used to manage registration requests by organizers.
Repos
Photo Gallery
Click on an image to view
Organizer sign up
Organizer setup profile
Create event form
Organizer profile page
My events page
Events feed (home page)
Events filter
Email notification