- Team Members: Eric, Owen, Richard
- Course: CS 501 – Mobile Application Development
- Instructor: Ronald Czik
- Semester: Fall 2025
Please find our documentation (Final Report with AI Reflection, Presentation Slides, Application Screenshots, Architecture Diagram, Progress Chart, ...) in the /Doc directory.
You can find our working files in this Shared Drive
Phone Video Demo Tablet Video Demo
- Project Overview
- Repository Contents
- Build/Run Instructions
- App Flow
- Target Users & Problem Being Solved
- Current Features
- Planned Features
- APIs & Sensors
- Feature List
- Testing Strategy
- Team Roles & Responsibilities
Event Echo is a memory-sharing map app for real-world events.
After attending an event (concert, festival, lecture, etc.), users can create an event room (if one doesn’t already exist) and post one photo and one short reflection about their experience.
Other attendees can join the same event room and add their own “echo” — a photo and thought — building a community-generated timeline and memory wall for that event.
Over time, each event’s location becomes a shared memory space, where users can relive collective experiences and see different perspectives.
Additionally, users can upvote or downvote contributions, with the best ones being pinned to the top and earning contributor points.
This repository contains:
- Source code for Event Echo app
- README for app
- Documentation resource directory containing:
- MVVM architecture diagram
- Navigation flow diagram
- Firebase schema examples
- Video demo
- App screenshots
- Final project presentation slides
- Final report (with AI usage statement)
- Download/Clone this repository.
git clone https://github.com/EricNohara/Event-Echo.git
- Open the project folder in Android Studio (download Android Studio if not installed).
- Sync the project using gradle (Either automatically on startup or after).
- Obtain API keys for Google Maps, Ticketmaster, and Places, and set them in the project's local.properties as TICKETMASTER_API_KEY, MAPS_API_KEY, and PLACES_API_KEY.
- Run the app in Android Studio using a built-in emulator or connected mobile device.
- Open the app and view a filterable events and/or browse map with pins for nearby or upcoming events.
- Tap an event or pin to view photos and reflections shared by other attendees.
- Upload your own “echo” (one photo + one short thought) after attending.
- Explore the memory wall — a grid or timeline view of user contributions.
Each location evolves into a living archive of shared memories.
Target Users:
- University students (campus events, lectures, club activities)
- Music festival, conference, movie, play, or sports attendees
- Event hosts looking for community feedback and engagement
Problems Solved:
- After events, photos and reflections are scattered across personal galleries and social feeds.
- There’s no single place to collectively share experiences tied to a specific time and location.
- Event organizers lack an easy way to gather public sentiment or feedback.
Event Echo solves these by providing a shared, location-tied memory wall.
- Event Map: Interactive map showing pins for all past and upcoming events (Google Maps API).
- Event Grid: Functional collection of events using Ticketmaster API (ViewModel + StateFlow), formatted in a clickable grid.
- Event Discovery: Filter or search events by date, distance, source, or name (sorted by proximity and relevance).
- Event Detail: Users can view individual events in more detail.
- Event Creation: Users can create or join an event by selecting a location, time, and/or other filters.
- Memory Upload: Each user can upload one photo and one reflection per event.
- Memory Wall: Scrollable timeline/grid of all uploaded memories, with integrated upvotes.
- Authentication: Basic login/signup for user accounts.
- Profile: Users can create and edit authenticated profiles from which they can see their attended, created, and recent events.
- Firebase Database: Store users, events, and memories.
- Navigation: Users can navigate using top and bottom bars, profile menu, clickable components, and back buttons (Jetpack Navigation).
- Many Social Features: Best contributor badge, event follows, notifications for nearby or new events.
- AR Timeline: Optional AR view showing memories in physical space.
- Weather Integration: Display event weather data for context.
External APIs
- Google Maps API – Interactive maps and event pinning.
- Firebase – Database, file storage, and authentication.
- Ticketmaster Discovery API – Automatically fetch and create local event rooms.
- Places API - Autocomplete location-based searches.
Device Sensors
- GPS – Detect user’s location for proximity-based event features.
- Camera – Capture and upload event photos.
- Google Maps Display
- Firebase & Authentication
- Sign In / Sign Up
- API Integration
- GPS, Camera Sensor Integration
- Event Map
- Event Creation
- Light/Dark Mode Persistence
- Automated Testing, Logging
- High-Quality UI
- Memory Wall and Memory Upload
- Utilize Logs & Logcat to write and view log/error messages
- Use test data to quickly test UI changes
- Test through the UI as an end user would
- Thorough testing for edge cases and unintended behavior by messing with UI
- Automated Compose UI Testing
- View data in Firebase to ensure correct values
| Role | Responsibilities |
|---|---|
| API Integration Research | Identify and test APIs like Google Maps, Ticketmaster, Supabase/Firebase. |
| Backend Design | Define data models (events, users, memories) and system architecture. |
| Backend Development | Implement authentication, API routes, and database logic. |
| Frontend Design | Create UI wireframes and interaction flows. |
| Frontend Development | Build the event map, memory wall, and upload interface. |
Work split evenly among members according to skill specialization and interest.