Inspiration
When UC Merced clubs host their events, they have to create the event manually and in order to register the attendees to the meeting, the attendees have to go to the host's laptop to submit their student ID to register for the meeting using iCheck-in. We thought this was inefficient so we decided to create this app.
What it does
Our app replaces the whole process from creating the event and registering attendees for the event. For the attendees, the app simply lets them input their student id and event code on their app to register for the event. And for the clubs, the app creates the events automatically, so there's virtually no reason to use the iCheck-in alternative anymore.
How we built it
We used fastapi for the backend, sqlite for database storage, sqlalchemy for communication to the database, aiohttp to communicate with the iCheck-in application. For the frontend, we used react-native and Expo for development.
Challenges we ran into
We were set back by 2 hours because we didn't realize that one of the header values were in a different format than we thought. We thought it had to do with cookies, so we mixed and matched different cookies that the website could've used.
Accomplishments that we're proud of
We're proud of the fact that we could successfully communicate with the icatard website. This is impressive because we created our own api without the need of using browser simulators/webscrapers like puppeteer.js or Selenium. The former is more robust because if anything on the frontend of the icatcard website was changed, using browser simulators/webscrapers would fail.
What we learned
We learned that sometimes, taking some risk will pay off. This is becuase initially in our project, we were going to use Flask for our REST api, however, last minute we decided to switch to using FastAPI which has a faster development environment than flask. Another risk we took that payed off was choosing not to use a webscraper and instead use requests to communicate with the icatcard application. This payed off because it has a faster runtime and more resilient to potential errors since it does not rely on any frontend.
What's next for Eventful
We plan to polish the front end and test the backend for more edge cases and add new features such as the point award system, where it incentivizes attendees to attend more events by creating a point system and offering attendees prizes.
Built With
- aiohttp
- fastapi
- javascript
- python
- react-native
- sqlalchemy
Log in or sign up for Devpost to join the conversation.