A Flutter-based mobile app to learn musical instruments with ease!
MariBermusik is a mobile application crafted by a team of five as a college final assignment. Designed to help users learn various musical instruments, this app offers an interactive and user-friendly experience. Built with Flutter, it leverages Firebase for secure authentication, efficient database management, and insightful analytics.
- A visually engaging carousel showcasing images of musical instruments with smooth animated transitions.
- Screenshot:
- Secure login and registration using email and password, featuring a modern gradient background.
- Profile creation with name and username for a personalized experience.
- Screenshot:
- View, add, edit, and delete learning materials for instruments, presented in beautifully styled cards.
- Favorite materials with an intuitive heart animation for quick access.
- Screenshot:
- Displays user details with elegant shadow effects and editable fields.
- Update your name and sign out with a prominent, user-friendly button.
- Screenshot:
π¦ MariBermusik
β£ π lib
β β£ π component # Reusable UI components
β β β£ bottom_navbar.dart
β β β£ entry_field.dart
β β β£ loading.dart
β β β£ material_card.dart
β β β£ profile_field.dart
β β β top_navbar.dart
β β£ π pages # Main app screens
β β β£ home_screen.dart
β β β£ login_register.dart
β β β£ material.dart
β β β profile_screen.dart
β β£ π services # Service logic
β β β£ auth.dart
β β β firestore.dart
β β£ main.dart # App entry point
β β£ widget_tree.dart # Manages navigation based on auth state
β β firebase_options.dart # Firebase configuration
β£ π assets
β β π images # Image assets
β£ π env # Environment config
β£ π .gitattributes
β£ π .gitignore
β£ π metadata
β£ π analysis_options.yaml
β£ π firebase.json
β£ π key_properties
β£ π pubspec.yaml # Dependencies
β£ π pubspec.lock
β£ π linux
β£ π macos
β£ π web
β π windows
- Flutter: Cross-platform framework for a rich UI experience.
- Dart: The programming language behind Flutter.
- Firebase:
- Firebase Authentication: Secure user login and registration.
- Cloud Firestore: Efficient storage and retrieval of materials and user data.
- Firebase Analytics: Tracks user interactions for insights.
Package | Version | Purpose |
---|---|---|
cloud_firestore |
^4.13.6 | Firestore database integration |
firebase_core |
^2.24.2 | Firebase core functionality |
firebase_auth |
^4.16.0 | User authentication |
firebase_analytics |
^10.8.0 | Analytics tracking |
loading_animation_widget |
^1.0.0 | Loading animations |
timeago |
^3.1.0 | Human-readable timestamps |
card_swiper |
^3.0.1 | Image carousel functionality |
flutter_lints |
^2.0.0 | Code linting |
flutter_launcher_icons |
^0.9.2 | Custom app icons |
-
Clone the Repository
git clone <repository-url>
-
Install Dependencies
flutter pub get
-
Configure Firebase
- Set up your Firebase project.
- Add
firebase.json
and updatefirebase_options.dart
with your Firebase configuration.
-
Run the App
flutter run
Developed by a passionate team of five students as part of a college final assignment:
- Rendy Pratama
- Usman
- Indra Wijaya
- Marsella
- Chelsea Samsi Wijaya
[Insert license information if applicable]