
Nalssi is a simple weather list application that displays the weather in the capital city of each province in Indonesia. This application also provides detailed weather information!
Project Type: Course Assignment (Personal Project)
Development Date: January 2025
Role: Mobile Developer (Android)
This application was developed using Git, GitHub, Android Studio, and Kotlin Jetpack Compose as the primary framework.
The development of this application faced several challenges since this was my first Jetpack Compose application and involved implementing offline and online accessibility.
- Displaying the latest data from the API and rendering it.
- Providing a favorite city feature and storing it in a database.
- Structuring the code for future development.
- Used the Retrofit dependency to interact with the API.
- Implemented swipe refresh to fetch the latest data.
- Used Koin dependency injection to build the architecture.
- Implemented Room Database to store favorite cities.
- Attempted to implement NBR to fetch and synchronize data with local storage.
For some reason, NBR is not working properly.
- The application can be accessed both offline and online, but an internet connection is required the first time to fetch new data.
- The application can successfully store favorite cities.
From this project, I learned how to use Kotlin Jetpack Compose as a framework. This application taught me how to write more declarative code and use Koin dependency injection.
- Improved my understanding of Kotlin and Jetpack Compose.
- Helped me explore NBR (Network Bound Resource).
Installing and using this application is simple and quick. Users can follow the steps below to get started.
The installation process involves a few basic steps to ensure the application runs smoothly on the user’s device.
To get started with Nalssi, follow these steps:
-
Clone the repository:
git clone https://github.com/faradaii/nalssi.git
-
Navigate to the project directory:
cd nalssi
-
Sync the project with Gradle and install dependencies:
Ensure you have the correct SDK version installed (match it withcompileSdkVersion
inbuild.gradle
).-
If using Android Studio:
- Open File > Sync Project with Gradle Files (or click the Sync Now button if available).
-
For other environments, please refer to the specific setup instructions.
-
-
Run the application:
-
In Android Studio:
Select an emulator or physical device > click the Run button (or press Shift + F10).
-
For other environments, follow the appropriate instructions.
-
This application is very simple; users can browse the weather list to get weather details.
graph
B[Home]
B -->|Choose weather| C[Detail Weather]
B -->|Actions menu button| D[Favorite]
B -->|Actions menu button| E[Profile]