MyEvents is a full-stack event aggregation platform that collects and normalizes event data from various sources, making it easily accessible through a mobile (Android) app.
The project is organized into two main components:
- Python-based event aggregation server
- Collects events from multiple sources
- Normalizes and stores event data in a PostgreSQL database
- Provides a REST API for the mobile app thorugh FLASK
- Includes deployment scripts and configurations (e.g. for AWS EC2)
- See
server/README.mdfor detailed deployment instructions - It also includes an html interface that once deployed can be reached and used for searching events on the web browser.
- Android app built with Kotlin
- Displays aggregated events in a user-friendly interface
- Allows users to browse and search events
- Automated event collection from multiple sources
- Event collection from multiple sources:
- Google Search: Extracts events from search results
- Eventbrite: Event extraction from Eventbrite's platform
- Data normalization and deduplication
- RESTful API for event data access
- Mobile app with intuitive event browsing
- Production-ready deployment on AWS EC2
- Automated weekly event collection:
- A cron job runs weekly to fetch events for the upcoming week in the Seattle area
- Additional jobs can be added following the same pattern for different locations or time periods
The server component has been successfully deployed on AWS EC2 and is ready for production use. For detailed deployment instructions, please refer to the server/README.md file.
To set up the development environment:
- Clone the repository
- Follow the setup instructions in
server/README.mdfor the backend - Set up the Android development environment for the mobile app
Server: An initial attempt for the server side code included an implementation by All Hands AI; however that code has been completely overhauled. I have used Claude and to some extent chatGPT for the help in the re-writing the server-side code and for some design decisions.
Client: Client/Android code is completely vibe coded, initially by chatGPT and Andoid Studio, and later by Claude and cursor.
This project is licensed under the MIT License with Additional Terms. See the LICENSE file for details.