Skip to content

anaa1004/RaionMusicApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 RaionMusic App

    Raion Music App is a simple Android Application created for Raion Battlepass Competition.
    This project focuses on user authentication (register and login) and API Integration as the main fondation of a music streaming application.
    The App is built using Kotlin and Jetpack Compose as the framework.

✨ Features
    
    1. Authentication
        - User Registration using API
        - User Login using API
        - Error message handling for failed request
        - Loading State during API request

    2. Navigation
        - Screen navigation using Navigation Compose
        - App flow:
            - Register
            - Login
            - Home

    3. User Interface
        - Built with Jetpack Compose
        - Consistent UI between Login and Register screens
        - Button is disabled during loading to prevent multiple request

🧱 Project Structure
    
    The Project uses clear separation of responsibilities to keep the code clean and easy to understand.
    
    ui/
    β”œβ”€β”€ auth/ # Login & Register screens and ViewModels
    β”œβ”€β”€ home/ # Home screen
    β”œβ”€β”€ navigation/ # Navigation graph and routes
    └── components/ # Reusable UI components

    data/
    β”œβ”€β”€ model/ # API request and response models
    β”œβ”€β”€ remote/ # Retrofit API service
    └── repository/ # Repository layer for API calls

    With this structure:
    - UI does not directly call the API
    - All API requests are handled in the repository layer
    - Application State is managed using ViewModel

πŸ”Œ API Integration

    - API communication is handled using Retrofit
    - Repository pattern is used to connect ViewModel and API
    - StateFlow is used for managing loading and error states
    - UI reacts automatically to state changes

πŸš€ How to Run the App

    1. Clone this repository:
        ```bash
        git clone https://github.com/anaa1004/RaionMusicApp.git
    2. Open the project in Android Studio
    3. Make sure:
        - Internet connection is available
        - Emulator or physical device is ready
    4. Click Run to start the application

πŸ›  Tech Stack
    
    - Kotlin
    - Jetpack Compose
    - MVVM Architecture
    - Retrofit
    - StateFlow
    - Navigation Compose

πŸ“Œ Notes

    - This Application is still under development
    - The main focus of this project is authentication flow and API integration as a base before adding music features
    - Music features will be developed further on top of thi foundation
    - The project structure and flow are designed to be easy to understand and explain

πŸ‘€ Developer
    
    Developed as part of an Mobile Engineer competition.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages