Skip to content

Krail is a Compose Multiplatform app for trip planning on public transport in Sydney, NSW, Australia.

License

Notifications You must be signed in to change notification settings

ksharma-xyz/Krail

Repository files navigation

Build Status

Krail App CI

Download

Download Krail App - Google Play Store

Krail

Making travel simple and fun.

Krail is a Compose Multiplatform application designed to provide a seamless user experience across Android and iOS platforms. This project leverages modern libraries and frameworks to ensure a robust and scalable architecture.

Architecture

Krail follows a modular architecture with a clear separation of concerns. The main modules include:

  • ComposeApp: Contains the main entry point for the android application and has platform target implementations as well.
  • iosApp: Contains the main entry point for the iOS application

Libraries Used

Dependency Injection

  • Koin: Used for dependency injection to manage and inject dependencies efficiently.

Network

  • Ktor: A framework for building asynchronous servers and clients in connected systems using Kotlin.

Database

  • SQLDelight: A library for generating typesafe Kotlin APIs from SQL.

Theming / Design System

:taj module is the design system for the Krail App. It's built using the compose foundation APIs. For now, Material Design is not used but inspiration has been taken from it.

Getting Started

To build the project, follow these steps:

  1. Clone the repository:

    git clone [email protected]:ksharma-xyz/Krail.git
  2. Open the project in Android Studio:

  • Open build.gradle.kts file in Android Studio.
  • Perform Gradle Sync (should happen automatically).
  • Add NSW_TRIP_PLANNER_API_KEY in local.properties file, you can get a developer key from here.
  1. Build and run the project:
  • Select the desired target (Android or iOS).
  • Click on the Run button.

Contributing

Welcoming contributions from the community. Please create a new issue or pick up an existing one.

License

Copyright 2024 Karan Sharma.

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.

Contact

https://krail.app [email protected]

About

Krail is a Compose Multiplatform app for trip planning on public transport in Sydney, NSW, Australia.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published