Skip to content

Enjoy your favorite tunes offline anytime with our music player app. No internet needed, just your music, your way.

Notifications You must be signed in to change notification settings

AbhimanyuT0800/Viola_music_app

Repository files navigation

Viola Music App

My Music App is a robust offline music player built with Flutter, following Clean Architecture principles and using Riverpod for state management. It's designed to provide users with a seamless and personalized audio experience, allowing them to enjoy their music collection without an internet connection.

Features

  • Offline Playback: Listen to your music anytime, anywhere.
  • Favorites: Curate your personal list of favorite tracks for quick access.
  • Clean Architecture: Implemented for scalability, maintainability, and testability.
  • Riverpod State Management: Provides a reactive and efficient way to manage app state.
  • Playlist Management: Organize your music with custom playlists.
  • Intuitive UI: Navigate easily through a clean and user-friendly interface.

Getting Started

To run the app locally, follow these steps:

  1. Clone the repository:
    git clone https://github.com/AbhimanyuT0800/Viola_music_app
  2. Navigate to the project directory:
    cd viola_music_app
  3. Install dependencies:
    flutter pub get
  4. Usage:
    flutter run
    

Architecture

This app is structured based on Clean Architecture guidelines, ensuring a separation of concerns and making the codebase more understandable, flexible, and maintainable.

  • Presentation Layer: Contains UI and state management logic, utilizing Riverpod for a reactive approach.
  • Domain Layer: Includes entities, use cases, and repositories interfaces, serving as the app’s core business logic.
  • Data Layer: Comprises data models, data sources, and repositories implementation, handling data operations.

Built With

  • Flutter: Contains UI and state management logic, utilizing Riverpod for a reactive approach.
  • Riverpod: A reactive state management library.
  • ObjectBox: The database used for efficient local data storage.

Contributing

Welcome to our project! We're glad you're interested in contributing. Here's how you can get started:

  1. Fork the Project: Click on the "Fork" button at the top right corner of the repository page to create your own copy of the project.

  2. Create your Feature Branch: Start working on your changes by creating a new branch for your feature.

    git checkout -b feature/AmazingFeature
  3. Make Changes: Implement your changes or add new features.

  4. Commit your Changes: Once your changes are ready, commit them with a descriptive message.

    git commit -m 'Add some AddedMoreFeatures'
  5. Push to the Branch: Push your changes to your forked repository.

    git push origin feature/AddedMoreFeatures
  6. Open a Pull Request: Go to your forked repository on GitHub and open a pull request to merge your changes into the main project.

That's it! Thank you for considering contributing to our project. Your efforts help make it better for everyone.

Contact

If you have any questions, suggestions, or just want to say hi, feel free to reach out to us:

About

Enjoy your favorite tunes offline anytime with our music player app. No internet needed, just your music, your way.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published