Skip to content

Musical instrument learning themed Mobile App that provides CRUD features in learning materials and user authentication using firebase

Notifications You must be signed in to change notification settings

Rendy752/Mari-Bermusik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 MariBermusik Mobile Application

A Flutter-based mobile app to learn musical instruments with ease!

Flutter Firebase Dart


πŸ“– 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:
    Home

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:
    Login Register

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:
    Material List Material Add Material Edit Material Delete

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:
    Profile Guest Profile User Profile Edit

πŸ—‚οΈ Project Structure

πŸ“¦ 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

    git clone <repository-url>
  2. Install Dependencies

    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

    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!

About

Musical instrument learning themed Mobile App that provides CRUD features in learning materials and user authentication using firebase

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •