CodeHavenX / MonoRepo

This is a project that aims to provide a scalable architecture for mobile development.
https://cramsan.com/
0 stars 0 forks source link

Monorepo

This mono-repo holds the code for several projects that I manage. The reason for going with a mono-repo was to make code-sharing easier and reducing maintenance cost. You can find more information about the projec's design on the design page.

You can find more documentation in the wiki.

Current Projects

Project Link
Ktor Service Template https://sampleserverktor.cramsan.com/
Compose Wasm App Template https://samplecomposeapp.cramsan.com/

Framework

A lot of the code is kept in a shared module called Framework that abstract a lot of complexities out of the client apps.

Getting started

Prerequisites

SDK Package

Make sure you have SDK downloaded. You can do this manually or through the IDE. Add a local.properties file to the root dir. In the file, add sdk.dir=YOUR\\PATH\\TO\ANDROID\\SDK

Building the code

To build all the projects and execute all tests run: ./gradlew releaseAll.

Build

This is a monorepo, so there are multiple types of targets within this project. For more information about how to build and run each project is found within each project's page.

Formatting

The code is configured to follow a pre-defined format style. This is enforced by the build process, so it is important to always follow the format otherwise the build process will fail. To automatically fix any format issues, just run ./gradlew ktlintf. If this task fails, you will have to manually fix the issue.

Testing

You can read more about testing in the Testing page.

Create a new module

If you want to start a new project and need a new module, look at the New Module page for some examples about how to get started.

More information

To learn more about the project, please look at the documentation.