Skip to content

armenabnousi/MyEvents-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyEvents - Event Aggregator

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.

Project Structure

The project is organized into two main components:

Server (/server)

  • 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.md for detailed deployment instructions
  • It also includes an html interface that once deployed can be reached and used for searching events on the web browser.

Mobile App (/clients/MyEvents)

  • Android app built with Kotlin
  • Displays aggregated events in a user-friendly interface
  • Allows users to browse and search events

Features

  • 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

Deployment

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.

Development

To set up the development environment:

  1. Clone the repository
  2. Follow the setup instructions in server/README.md for the backend
  3. Set up the Android development environment for the mobile app

Credits

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.

License

This project is licensed under the MIT License with Additional Terms. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors