What it does
EMP is an events management and financial control system that is primarily intended for use in companies and charities. The system has two user facing interfaces, one for normal users (i.e. even goers, employees, etc.) and the other for organizers.
User-side The standard user interface currently takes the form of an android application. We invite you to download the apk/application using the QR code or link included in this project. This will allow you to interact directly with out system. The app serves as a hub allowing for users to register to the system, with information such as dietary preference, email, name, and password, and then later login to sign up for events created by the organizers/admins. In addition to allowing users to rsvp to events, it also provides several tools to help users attend the event. The application readily displays all necessary information regarding an event, allows for events to be easily added to calendars, quickly allows the user to get directions to the event location, and more.
Organizer - side The organizer side of the system takes the form of a web application. Organizers have access to a variety of tools and information that help them make decisions and organize events. Organizers can view financial information regarding expenditure for events, budgets, and other essential information in easy to digest formats such as graphs. Organizers can also create new events, which will then be view able by the Users. Organizers can also view individual Users, get information on them and view what events they have and will attend, and individual events, viewing finance and participation information.
Supporting both of these is a custom built api, web server and database, ensuring that all information is updated in real time, users are authenticated, information is organized and allowing integration with outside software/apis.
How I built it
Due to the breadth of the program, many different languages and systems were used, allowing each teammate to show their strengths and learn new skills. The standard user android application was built with Android Studio (in java and xml). The web server and database primarily use python and Google Cloud SQL, and the Organizer’s web app was created using React. Several apis were used in addition to these languages, listed in tools used and award category sections.
Challenges I ran into
Due to the low experience of our team (as first-years and some first time Hackathon goers), much of the process had to be figured out as we went along. Some of the biggest problems we faced were getting the database working, and also correcting and debugging the interaction between the web server and the user interfaces.
Accomplishments that I'm proud of
After much struggle, debugging and re-writing, we successfully created a functional system with smooth user interaction. After all of the problems setting up the database, we thought that the scope we originally planned for the project was too large, but we stuck with the original concept and brought it to functionality.
What I learned
Throughout the weekend each of us learned a bit from the other’s roles. As a collective, our understanding of React, and Android app development most likely increased the most due to coming in with little experience.
What's next for EMP
The next step for this platform is to integrate a payment portal to allow organizer to pay costs more easily to people such as caterers, and also possibly to enable users to purchase things for special events. This fits in well with the information and tools we provide organizers with in regards to finances, and would allow the project to be more easily scale able.