Skip to content

A Kotlin multiplatform playground project for getharvest time logger clone.

Notifications You must be signed in to change notification settings

yugeshjain/HarvestTimeKMP

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•“ HarvestTime KMP

Multi-Platform Harvest Time Tracking clone project built with SwiftUI, Jetpack Compose, Kotlin/Js

Access the Web App built with React + MUI here

Kotlin

License

The purpose of this repository:

  • Build cross-platform applications and share common code between Android, iOS, Web and Desktop.
  • Provide support for different platform with respective Native UI for each, and sharing the common business logic.
  • Dependency Injection using Koin.
  • Usage of latest Ktor client for Networking.
  • Performing background task with Kotlin Coroutines.

Currently running on:

  • Android (Jetpack Compose)
  • Web (Kotlin/JS + React + MUI)
  • iOS (SwiftUI)
  • Desktop JVM (Jetpack Compose)
  • MacOS (SwiftUI)

Built using PraxisKMP as the base project.

[Back to top]

Table of content

πŸ›οΈ Architecture

Architecture Diagram: Here

[Back to top]

🌐 API

The Harvest API is written in Kotlin with SpringBoot. Find the repo here.

  • Authentication πŸ”’

    • Find Organization
    • Sign In User
    • Sign Up User
    • Login User
    • Forgot Password
    • Change Password
  • List Projects πŸ“½

    • Org admin can create projects
    • Org admin can list,search projects
    • Org admin can assign projects to users
    • more are.. 🚧 WIP
  • Logging Time 🏒

    • Log Time 🚧 WIP
    • an other

[Back to top]

πŸ—οΈοΈ Built with ❀️ using Kotlin

What How
🎭 Android UI Jetpack Compose
🎭 IOS UI Swift UI
🎭 Web UI React JS with MUI
πŸ— Architecture Clean
πŸ’‰ DI Koin
🌊 Async Coroutines, Flows, KMP Native Coroutines
🌐 Networking Ktor
Γ° Storage Key Value, SqlDelight

[Back to top]

πŸ“· Screenshots

Android Screenshots

[Back to top]

Android OnBoarding Screens

OnBoarding One OnBoarding Two OnBoarding Three OnBoarding Four

Android Authentication Screens

Enter Organization Screen Sign up Screen Sign In Screen

Android Home Screens

Home Screen New Entry Screen Home Drawer

Android Settings Screens

Settings Screen Report Screen

[Back to top]

Web Screenshots (ReactJS)

Verify Organization Screen

Verify Organization

Sign Up Screen

Sign Up

Sign In Screen

Sign In

Log In Screen

Log In

Forgot Password Screen

Forgot Password

Home Screen

Home

Home Drawer Screen

Home Drawer

All User Screen

All User

All Project Assignment Screen

All Project Assignment

Settings Screen

Settings

[Back to top]

iOS Screenshots

iOS Authentications Screen

On Boarding Screen Sign In Screen

[Back to top]

iOS Home Screens

Home Screen New Entry List New Entry Time

πŸͺͺ License

Copyright 2022 Mutual Mobile

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

A Kotlin multiplatform playground project for getharvest time logger clone.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 86.4%
  • Swift 12.7%
  • Other 0.9%