π΅ 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.
anaa1004/RaionMusicApp
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||