/Portfolio

Portfolio

Primary LanguageKotlin

Portfolio

This is a portfolio app showcasing my Android development skills. It includes various features and functionalities implemented using modern Android libraries and frameworks.

Features

  • Kotlin Multiplatform: Utilizes Kotlin Multiplatform to develop for Android,iOS, Web, Desktop
  • UI Design: Utilizes Jetpack Compose for building modern and responsive UI.
  • Navigation: Implements navigation between different screens using Voyager Navigator and Voyager Tab Navigator.
  • Image Loading: Utilizes Compose Image Loader for efficient image loading and caching.
  • Asynchronous Programming: Utilizes Kotlin Coroutines for asynchronous programming to handle background tasks efficiently.
  • Iconography: Utilizes Feather Icons and Simple Icons libraries for displaying icons in the app.
  • JSON Serialization: Uses Kotlinx Serialization library for JSON serialization and deserialization.
  • Date and Time Handling: Utilizes Kotlinx DateTime library for handling date and time operations.
  • Multiplatform Support: Provides multiplatform support with Material3 Window Size class for compatibility across different platforms.

Libraries Used

Images

Screen displayed on an Android smartphone Screen displayed on a Desktop
Screen showing the website Screen showing all platforms

How to Run:

Before running!

  • check your system with KDoctor
  • install JDK 17 on your machine
  • add local.properties file to the project root and set a path to Android SDK there

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :composeApp:assembleDebug
  • find .apk file in composeApp/build/outputs/apk/debug/composeApp-debug.apk

Desktop

Run the desktop application: ./gradlew :composeApp:run

iOS

To run the application on iPhone device/simulator:

Browser

Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun