ποΈ Historical App An Android application that demonstrates best practices in modern Android development including API integration, clean architecture, and lifecycle-aware UI design.
π± Features π Login Screen β Authenticates users using a username and password.
ποΈ Dashboard Screen β Displays a list of historical events fetched from a remote API.
π Details Screen β Shows in-depth information about selected historical events.
ποΈ Architecture & Technologies This project is built using modern Android architecture components and tools:
Clean Architecture β Structured with a clear separation of concerns across data, domain, and presentation layers. MVVM (Model-View-ViewModel) β Ensures a clean and testable codebase. Hilt β Simplifies dependency injection and lifecycle management. Retrofit β For efficient and type-safe HTTP communication. Kotlin Coroutines β Handles asynchronous operations smoothly. LiveData & ViewModel β Ensures UI components reactively respond to data changes. ViewBinding β Enables type-safe interaction with layout views.
π API Integration π Login Endpoint Base URL: https://nit3213api.onrender.com Endpoint: /sydney/auth Method: POST Request Body (JSON):
json { "username": "Eshaan", "password": "s8093457" } π Dashboard Endpoint Endpoint: /dashboard/{keypass}
Method: GET
Replace {keypass} with the token received from the login response.
β Testing Unit tests are provided for key components like ViewModel logic.
Run Tests in Android Studio: Open the project in Android Studio.
Navigate to the test directory.
Right-click on the folder and select Run Tests.
π Project Structure Highlights
π οΈ Requirements Android Studio Hedgehog or later Kotlin 1.8+ Gradle 8+ Minimum SDK: 24
π€ Contributions Feel free to open issues or submit pull requests if you'd like to improve or extend the functionality!