Multi-Platform Harvest Time Tracking clone project built with SwiftUI, Jetpack Compose, Kotlin/Js
Access the Web App built with React + MUI here
- 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.
-
Android (Jetpack Compose)
-
Web (Kotlin/JS + React + MUI)
-
iOS (SwiftUI)
-
Desktop JVM (Jetpack Compose)
-
MacOS (SwiftUI)
Built using PraxisKMP as the base project.
Table of content
Architecture Diagram: Here
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
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 |
OnBoarding One | OnBoarding Two | OnBoarding Three | OnBoarding Four |
---|---|---|---|
Enter Organization Screen | Sign up Screen | Sign In Screen |
---|---|---|
Home Screen | New Entry Screen | Home Drawer |
---|---|---|
Settings Screen | Report Screen |
---|---|
- Authentication Screens
- Home Screens
Verify Organization |
---|
Sign Up |
---|
Sign In |
---|
Log In |
---|
Forgot Password |
---|
Home |
---|
Home Drawer |
---|
All User |
---|
All Project Assignment |
---|
Settings |
---|
On Boarding Screen | Sign In Screen |
---|---|
Home Screen | New Entry List | New Entry Time |
---|---|---|
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.