Skip to content
karimwael45Public
forked from Rythmify/cross

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

🎵 Rythmify - Your Ultimate Music Experience

Flutter Riverpod Supabase Clean Architecture

Rythmify is a high-performance, feature-rich music streaming application built with Flutter. It combines a sleek UI with powerful audio capabilities, social features, and a robust backend to provide an immersive musical journey.


✨ Core Features

🎧 Seamless Audio Experience

  • Advanced Player: Full-featured player with play/pause, seek, skip, and background playback support powered by just_audio and audio_service.
  • High-Quality Streaming: Optimized audio delivery for a crisp listening experience.
  • Track Details: Rich metadata, album art, and artist information.

🌟 Social & Discovery

  • Music Feed: Stay updated with the latest releases and community trends.
  • Messaging: Built-in messaging system to share music and connect with friends.
  • Comments & Likes: Engage with tracks and artists through community discussions.
  • Track Sharing: Easily share your favorite music via social media (WhatsApp, etc.).

📂 Library & Personalization

  • Playlist Management: Create, edit, and organize your custom playlists.
  • User Profiles: Personalized profiles with your music history and preferences.
  • Search: Fast and intuitive search for tracks, artists, and albums.
  • Track Upload: Empowering creators to upload and share their own music.

🛡️ Secure & Scalable

  • Authentication: Secure login using Google Sign-In, Apple Sign-In, and standard auth providers.
  • Real-time Sync: Instant updates across devices using Supabase.
  • Offline Support: Local caching and storage using Hive and Shared Preferences.

🛠️ Technology Stack

  • Frontend: Flutter (Dart)
  • State Management: Riverpod (Modular & Reactive)
  • Backend: Supabase (Auth, Database, Storage)
  • Routing: GoRouter
  • Audio Engine: just_audio & audio_service
  • Database (Local): Hive & Shared Preferences
  • UI Components: Material 3, Google Fonts, Shimmer effects, Lucide-style icons.

🏗️ Architecture

Rythmify follows a Clean Architecture approach, ensuring the codebase is scalable, maintainable, and testable. The project is organized by features:

lib/
├── config/           # Application-wide configurations (Theme, Constants)
├── core/             # Shared logic, utilities, and common UI components
│   ├── data/         # Common data sources & repositories
│   ├── domain/       # Shared entities & use cases
│   ├── presentation/ # Shared widgets
│   ├── routing/      # Navigation logic (GoRouter)
│   └── services/     # Third-party service integrations
└── features/         # Feature-specific modules
    ├── authentication/
    ├── player/
    ├── track_upload/
    ├── track/
    ├── feed/
    ├── comments/
    ├── messaging/
    ├── notifications/
    ├── profile/
    ├── playlist/
    ├── library/
    ├── search/
    ├── settings/
    └── premium/

Each feature module is further divided into data, domain, and presentation layers to maintain strict separation of concerns.


🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/rythmify.git
    cd rythmify
  2. Install dependencies:

    flutter pub get
  3. (Optional) Run local mock API: Rythmify uses a local json-server for development.

    docker-compose up -d
  4. Run the application:

    flutter run

📸 Screenshots

Onboarding Home Feed Music Player
Onboarding Home Player

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for Music Lovers

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages