Skip to content

aaalaniz/compose-lightsaber

Repository files navigation

Compose Lightsaber

A toy Lightsaber app built for my kids with Compose Multiplatform and Circuit.

Tech Stack

  • Compose Multiplatform - Declarative UI for Kotlin
  • Circuit - A Kotlin Multiplatform framework for building Compose-driven applications
  • Metro - A Dagger-like dependency injection library for Kotlin Multiplatform
  • DataStore - Reactive data persistence
  • Kermit - Kotlin Multiplatform logging

Acknowledgements

References

License

Copyright Aaron Alaniz 

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

    https://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.

Module Architecture

The codebase has been refactored into a scalable modular architecture:

  • build-logic: Contains Gradle convention plugins (lightsaber.kmp.library, lightsaber.kmp.compose, and lightsaber.kmp.circuit) for centralized build configuration.
  • core:* modules: Foundation and common utility modules including core:ui (Theme, Color, components), core:data (Datastore, repositories), core:audio (Sound playback), and core:motion (Swing detection).
  • feature:* modules: Independent feature modules such as feature:lightsaber and feature:settings which contain specific UI logic, presenters, screens, and localized compose resources.
  • shared: The umbrella module that aggregates features and exposes the root Dependency Injection graphs and application entry points to platform-specific apps.
  • androidApp & iosApp: Platform-specific executable modules.

About

A toy Lightsaber app built with Compose Multiplatform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages