Skip to content

Commit

Permalink
Merge pull request #116 from teogor/docs/update
Browse files Browse the repository at this point in the history
Update Documentation for Ceres Framework
  • Loading branch information
teogor authored Oct 3, 2023
2 parents 9af9387 + a47f54e commit ec736f7
Show file tree
Hide file tree
Showing 2 changed files with 121 additions and 10 deletions.
86 changes: 76 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,98 @@
# Ceres

🪐 Streamline Android Development with Compose, Hilt, Coroutines, and Flow Integration.
🪐 Ceres is a comprehensive Android development framework designed to streamline your app development process. Powered by the latest technologies like Jetpack Compose, Hilt, Coroutines, and Flow, Ceres empowers developers to build modern and efficient Android applications.

## Download
## Overview
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Maven Central](https://img.shields.io/maven-central/v/dev.teogor.ceres/bom.svg?label=Maven%20Central)](https://central.sonatype.com/search?q=g%3Adev.teogor.ceres+a%3Abom&smo=true)
[![API](https://img.shields.io/badge/API-21%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=21)
[![Android CI](https://github.com/teogor/ceres/actions/workflows/android.yml/badge.svg)](https://github.com/teogor/ceres/actions/workflows/android.yml)
[![Profile](https://source.teogor.dev/badges/teogor-github.svg)](https://github.com/teogor)
[![Portfolio](https://source.teogor.dev/badges/teogor-dev.svg)](https://teogor.dev)

### Gradle
## Introduction

Add the dependency below to your **module**'s `build.*` file.
- for `build.gradle`
```gradle
In the ever-evolving world of Android development, staying up-to-date with the latest tools and technologies is essential to building cutting-edge apps. This is where Ceres comes into play.

Ceres is more than just a library; it's a comprehensive solution that simplifies your Android development journey. It empowers you to leverage the full potential of Jetpack Compose for crafting beautiful and responsive user interfaces. With built-in support for Hilt, you can effortlessly manage your app's dependency injection, making your codebase clean and maintainable.

Say goodbye to callback hell and embrace the power of Coroutines and Flow for asynchronous programming. Ceres makes it easy to handle complex data flows and asynchronous operations, ensuring that your app is responsive and delightful to use.

## Key Features

- **Jetpack Compose Integration:** Harness the power of Jetpack Compose to build modern, declarative UIs effortlessly.

- **Hilt Dependency Injection:** Manage your app's dependencies with Hilt for cleaner and more maintainable code.

- **Coroutines and Flow:** Simplify asynchronous programming with Coroutines and Flow, making your app more responsive.

- **Modular and Extensible:** Ceres is designed with modularity in mind, allowing you to include only the components you need.

- **Comprehensive Documentation:** Access detailed documentation and guides to kickstart your development journey with Ceres.

With Ceres, you can accelerate your Android app development, create delightful user experiences, and stay ahead in the competitive world of Android development.

## Implementation

To streamline the implementation of Ceres libraries, use the following Gradle setup with the BoM (Bill of Materials) for version management.

1. Add the BoM for Ceres in your **module**'s `build.gradle` or `build.gradle.kts` file:

```kotlin
dependencies {
implementation platform("dev.teogor.ceres:bom:1.0.0-alpha01")
implementation(platform("dev.teogor.ceres:bom:1.0.0-alpha01"))
}
```
- for `build.gradle.kts`

2. Then, include the specific Ceres libraries you need as dependencies:

```kotlin
dependencies {
// Ceres BoM
implementation(platform("dev.teogor.ceres:bom:1.0.0-alpha01"))

// Include individual Ceres libraries here as needed
implementation("dev.teogor.ceres:backup-core")
implementation("dev.teogor.ceres:core-foundation")
implementation("dev.teogor.ceres:firebase-analytics")
// ... Add more libraries here
}
```

> **Note**: This library has more modules therefore include only the ones that you want to use.
This setup simplifies library version management and ensures compatibility among the Ceres libraries in your project. The BoM (Bill of Materials) achieves this by centralizing version management, significantly reducing compatibility issues, and streamlining the entire dependency management process. Customize the dependencies based on your project's requirements by including only the necessary Ceres libraries.

### Ceres BoM (Bill of Materials)

The BOM (Bill of Materials) is the central hub for managing library versions within the Ceres project.
It enables you to effortlessly keep track of the latest versions of key components and dependencies.

For more implementation options and detailed information, refer to the [Ceres BoM (Bill of Materials) documentation](docs/bom/versions.md).

### BoM Versions (Bill of Materials)

For a list of the latest BOM (Bill of Materials) versions, including release notes and release dates, please refer to the [Ceres Version Catalog](/docs/ceres-version-catalog.md). This catalog provides comprehensive information about Ceres libraries and BOM versions in TOML format.

Explore further to access the full catalog and detailed implementation information.

> **Note**: This library has more modules, so include only the ones that you want to use.
## Documentation

Explore the comprehensive documentation for Ceres to get started:

- [Read the Full Documentation](docs/index.md)
- [Versions](docs/bom/versions.md)
- [Library Versions Catalog](docs/ceres-version-catalog.md)

> Explore the documentation for more details on each module:
> - [Backup](docs/ceres-module-backup.md)
> - [Core](docs/ceres-module-core.md)
> - [Data](docs/ceres-module-data.md)
> - [Firebase](docs/ceres-module-firebase.md)
> - [Framework](docs/ceres-module-framework.md)
> - [Monetisation](docs/ceres-module-monetisation.md)
> - [Navigation](docs/ceres-module-navigation.md)
> - [Screen](docs/ceres-module-screen.md)
> - [UI](docs/ceres-module-ui.md)
## Find this repository useful? :heart:
Support it by joining __[stargazers](https://github.com/teogor/ceres/stargazers)__ for this repository. :star: <br>
Expand Down
45 changes: 45 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Ceres Documentation

Welcome to the Ceres documentation! This documentation provides detailed information on various modules, Bill of Materials (BoM) versions, and usage guidelines for the Ceres Android library.

## Table of Contents

1. [Modules](#modules)
2. [Bill of Materials (BoM)](#bill-of-materials)
3. [Version Catalog](#version-catalog)

---

## Modules

Ceres is organized into multiple modules, each serving a specific purpose. These modules can be included selectively in your Android project to streamline development. Here are the available modules:

- [Backup](ceres-module-backup.md): The Backup module provides essential utilities for data backup and recovery.
- [Core](ceres-module-core.md): The core module provides essential utilities and foundation for Ceres.
- [Data](ceres-module-data.md): The data module offers data-related functionality for Ceres.
- [Firebase](ceres-module-firebase.md): Integrate Firebase services seamlessly with Ceres.
- [Framework](ceres-module-framework.md): Get access to framework-level components and features.
- [Monetisation](ceres-module-monetisation.md): Monetize your Android app using the Monetisation module.
- [Navigation](ceres-module-navigation.md): Efficiently handle app navigation with the Navigation module.
- [Screen](ceres-module-screen.md): Simplify screen management and UI with the Screen module.
- [UI](ceres-module-ui.md): Enhance your app's user interface using the UI module.

Each module documentation provides in-depth information on its features and how to integrate it into your project.

---

## Bill of Materials

The Bill of Materials (BoM) simplifies library version management by providing a centralized mechanism to manage versions across Ceres modules. Learn how to use the BoM in your project by referring to the [BoM documentation](bom/versions.md).

- [BoM Versions](bom/versions.md): Explore the available BoM versions and their release dates.

---

## Version Catalog

The Ceres Version Catalog provides implementation details of Ceres libraries and BoM versions in TOML format. It helps you manage library versions effortlessly. Refer to the [Version Catalog](ceres-version-catalog.md) to understand how to declare dependencies using the latest versions and access implementation details.

---

We hope this documentation helps you make the most of the Ceres Android library. If you have any questions or need further assistance, feel free to reach out to us. Happy coding!

0 comments on commit ec736f7

Please sign in to comment.