https://github.com/rendy752/mari-bermusik
Musical instrument learning themed Mobile App that provides CRUD features in learning materials and user authentication using firebase
https://github.com/rendy752/mari-bermusik
copilot dart flutter flutter-firebase-auth flutter-firebase-firestore
Last synced: 26 days ago
JSON representation
Musical instrument learning themed Mobile App that provides CRUD features in learning materials and user authentication using firebase
- Host: GitHub
- URL: https://github.com/rendy752/mari-bermusik
- Owner: Rendy752
- Created: 2023-12-18T02:08:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-27T08:46:57.000Z (over 2 years ago)
- Last Synced: 2025-01-04T20:46:14.108Z (over 1 year ago)
- Topics: copilot, dart, flutter, flutter-firebase-auth, flutter-firebase-firestore
- Language: Dart
- Homepage: https://maribermusik-752.web.app
- Size: 8.11 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎵 MariBermusik Mobile Application
**A Flutter-based mobile app to learn musical instruments with ease!**
  
---
## 📖 Overview
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.
---
## ✨ Features
### 1. **🎸 Home Screen with Instrument Carousel**
- A visually engaging carousel showcasing images of musical instruments with smooth animated transitions.
- **Screenshot**:
### 2. **🔐 User Authentication (Login/Register)**
- Secure login and registration using email and password, featuring a modern gradient background.
- Profile creation with name and username for a personalized experience.
- **Screenshot**:
### 3. **📚 Material Page**
- 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**:
### 4. **👤 Profile Management**
- Displays user details with elegant shadow effects and editable fields.
- Update your name and sign out with a prominent, user-friendly button.
- **Screenshot**:
---
## 🗂️ Project Structure
```plaintext
📦 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
```
---
## 🛠️ Tech Stack
### Core Technologies
- **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.
### Dependencies
| 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 |
---
## 🚀 Installation
1. **Clone the Repository**
```bash
git clone
```
2. **Install Dependencies**
```bash
flutter pub get
```
3. **Configure Firebase**
- Set up your Firebase project.
- Add `firebase.json` and update `firebase_options.dart` with your Firebase configuration.
4. **Run the App**
```bash
flutter run
```
---
## 👥 Team
Developed by a passionate team of five students as part of a college final assignment:
- Rendy Pratama
- Usman
- Indra Wijaya
- Marsella
- Chelsea Samsi Wijaya
---
## 📜 License
[Insert license information if applicable]
---
Made with ❤️ for music lovers!