Unveil is a Flutter-based mobile application designed to help users discover and get notified about parties and events happening in their vicinity.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Flutter SDK
- Firebase Account and a new project set up.
- An IDE like Android Studio or VS Code with the Flutter plugin.
-
Clone the repository:
git clone https://github.com/tim-contact/unveil_app.git cd unveil_app -
Install dependencies:
flutter pub get
-
Firebase Setup:
- Follow the instructions to add Firebase to your Flutter app for both Android and iOS: Add Firebase to your Flutter app
- Make sure to add your
google-services.jsonfile toandroid/app/andGoogleService-Info.plisttoios/Runner/. - Enable Firestore, Firebase Authentication (with Google Sign-In), and Firebase Cloud Messaging in your Firebase console.
-
Run the app:
flutter run
| Mobile View | Desktop View |
|---|---|
![]() |
![]() |
- Event Discovery: Find parties and events happening near you.
- Real-time Notifications: Get push notifications for new events in your area.
- User Authentication: Sign up and log in using Google Sign-In.
- Event Details: View detailed information about each event.
- Favorites: Save events you are interested in.
- Profile Management: Manage your user profile.
- Frontend: Flutter
- Backend & Database: Firebase
- Cloud Firestore - For storing event and user data.
- Firebase Authentication - For user authentication.
- Firebase Cloud Messaging - For push notifications.
- State Management: Provider
- Location Services:
- UI:
The lib directory contains the core source code of the application, structured as follows:
lib/
├── models/ # Data models for the app (Event, User).
├── pages/ # UI for each page/screen.
├── providers/ # State management using Provider.
├── services/ # Backend services (Firebase, Location, etc.).
├── shared/ # Shared widgets and utilities.
├── main.dart # The main entry point of the application.
└── routes.dart # Navigation routes.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.

