Course: CMSC436 - Mobile Application Development
Platform: Flutter (Dart) — Focused on Android Development
Group Members:
- Luke Walker
- Ben Talesnik
- Pranav Bolla
- Owen Davitz
- Scott Dobo
This repository contains our group project for CMSC436 at the University of Maryland. The goal of this project is to design and implement an innovative mobile application—the "gigify"—that leverages the unique capabilities of mobile devices. Our app is built using the Flutter framework, with a primary focus on Android development.
Gigify is an app designed to enhance the concert experience for its users. It provides personal event recommendations and helps guide social planning by fostering a social environment, allowing users to connect with friends, express interest or satisfaction in an event through a 'like' feature, and coordinate attendance plans within friends through in-app messaging. Additionally, users receive notifications regarding upcoming concerts and events from their favorite artists, as well as events that their social networks are planning or are interested in.
- Spotify and Ticketmaster/BandsInTown API interaction
- Recommend concerts that match based on bands/genres
- Gives Concert recommendations based on bands/genres
- Use location data to pull nearby concert recommendations
- Connect with other people with similar music and concert tastes, and assign a "compatibility score".cd
- Social media type feed with images from concerts
- Images also may be posted under an artists page or venue page so other consumers can see what a past event was like.
- Personalizable Sprite for profiles
- User is given specialized clothing/art for going to concerts
- Featured concerts
- Concerts recommended to all users
Milestone 1:
- Personal profile tab with dummy data (top genres/artists)
- Recommended nearby concert tabs with dummy data (headliner, venue, price, date, time, distance)
- Discover tab with all nearby concerts
Milestone 2:
- Spotify integration (user login, pull top artists/genres)
- User settings panel (e.g., max distance for concert search)
Milestone 3:
- Ticketmaster integration (pull and sort nearby concerts)
- Combine Spotify and concert data for recommendations
Final Submission:
- At least one stretch goal completed
- Paperwork and video demonstration finished
- Built with Flutter: Cross-platform development using Dart, with Android as the main target.
- Collaborative Effort: Developed as a team project, emphasizing group collaboration and agile development practices.
- Mobile-First: The app takes advantage of mobile device features such as sensors, camera, location, and more.
- Beyond the Classroom: Implements features and technologies that go beyond the standard CMSC436 curriculum.
-
Clone the repository:
git clone https://github.com/dxrk/gigify-flutter.git cd gigify-flutter -
Install dependencies:
flutter pub get
-
Create a
.envfile:touch .env
Add the following variables to the
.envfile:SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_client_secret SPOTIFY_REDIRECT_URI=nextbigthing://callback TICKETMASTER_API_KEY=your_ticketmaster_api_key
-
Run the app (Android):
flutter run
lib/— Main source code (organized by features, services, models, and utilities)README.md— Project documentation (this file)Final-Report.pdf— Final project reportVideo-Tutorial.mp4— Demo video
- Project Proposal
- Milestone Reports
- Final Report (see
Final-Report.pdf) - Demonstration Video (see
Video-Tutorial.mp4) - Working Flutter Project
- Flutter SDK (see flutter.dev)
- Android Studio or compatible IDE
- Android device or emulator for testing
This project is part of the CMSC436 curriculum and follows the guidelines and requirements set forth by the course instructors.
- I would still love to refine the algorithm for recommending concerts based on the user's data, maybe with an ML model.
- Add integaration for Apple Music and other streaming services.
- Social features such as finding friends with similar music tastes, others to go to concerts with, etc.