-
Homepage
-
Login done using JWT
-
Home page where you can see all your upcoming events
-
Event page where you can see all upcoming events and filter.
-
Clicking on an event will give you details about the event.
-
You can also browse by organization.
-
The organization page will give you information about the organization as well as their upcoming events.
-
You can view more information about the events from here as well.
-
In the profile page you can set your preferences for events and settings.
Inspiration
Our inspiration for EventHive came from seeing firsthand how many undergraduate students struggle to find a sense of community on campus. With nearly two-thirds of students reporting feelings of loneliness and only 28% participating in any extracurricular activities, it's clear that the existing approach to promoting involvement isn't working well enough.
EventHive aims to bridge this gap by making it easier for uninvolved students to get connected. By automatically gathering event information from club posts and emails, and displaying it all in one intuitive calendar view, EventHive ensures that every student knows what's happening on campus without the hassle of searching through different platforms.
For students who are already actively involved, EventHive helps prevent information overload. Instead of having to track events across multiple social media channels, emails, and other platforms, EventHive consolidates everything into a single, easy-to-navigate interface. This way, students can stay engaged without feeling overwhelmed, allowing them to focus on the opportunities that matter most to them.
What it does
Automatically scrapes club posts & emails for event details using AI.
Displays upcoming activities in a calendar view. Lets you see information about the activity and RSVP for the event.
Aggregates events by organization and shows you relevant information for organizations and their upcoming events.
Helps students stay informed and get involved.
How we built it
We built this for the desktop platform, since we figured it would be easier to see all the events on a larger screen. It's 75% there on mobile, and won't be hard to bring to mobile website or a PWA mobile app.
Frontend: Svelte, Tailwind CSS.
We chose Svelte for it's simplicity over other frontend frameworks and Tailwind for it's ability to quickly bring up a styled website.
Backend: FastAPI, Python, PostgreSQL, Scraping Fish, OpenAI, Google Cloud, Gmail.
Our REST endpoints were done with FastAPI in Python. They interacted with a PostgreSQL Database. This was our teams first time working with FastAPI and this extensively with PostgreSQL.
Scraping was done by Scraping Fish (Instagram) and IMAP APIs to connect to Gmail through Google Cloud. Data was inserted into the database after being processed through OpenAI endpoints.
Challenges we ran into
Instagram rate limits their API pretty heavily - we got 4 accounts banned.
Database structure was complicated to convert from SQL to Python models because of circular models. We had to use many to many models in order to set up the RSVP, and there were a lot of other data relationships in our models.
Accomplishments that we're proud of
Learning new technologies. Each of us had never worked on part of the stack before and we all helped each other out, so we were all learned new things.
Realtime scraping and how to get data as fast as possible to our frontend. Interacting with push APIs and figuring out how to convert pull APIs to a similar experience as push APIs took work.
Learning how to scrape. There were a lot of considerations that go into scraping certain data sources, especially data sources that aren't designed to be scraped and are actively trying to interfere in the process of scraping.
What's next for EventHive
Expanding to more universities. The infrastructure should be fairly easy to scale to different universities, we just need to figure out the proper containment system so people only see events relative to them.
Adding events outside of the school bubble, such as events happening in the city around you.
Profile pictures!
Introduce personalized event recommendations based on preferences. We've laid the base for the with the profile setup and matching categories, however didn't get fully down this path.
Add notification reminders for upcoming events. Not a hard thing to do, but very important for an event system. Calendar integration would also be great.
Built With
- fastapi
- gmail
- gpt
- javascript
- postgresql
- python
- svelte
- tailwind
Log in or sign up for Devpost to join the conversation.