Giter Site home page Giter Site logo

city-zouitel / jetnote Goto Github PK

View Code? Open in Web Editor NEW
108.0 2.0 12.0 62.38 MB

A simple android note app made by jetpack compose.

Kotlin 100.00%
coroutines kotlin datastore jetpack-compose exoplayer android clean-architecture buildsrc security workmanager

jetnote's Introduction

JetNote

JetNote is modern note android application written by kotlin language and jetpack-compose toolkit. The app dealing with Room for Database, Koin dependency injection, Coroutine the non-blocking programming, Navigation-Compose, DataStore, ExoPlayer to play the recorded media in the app, CameraX to take and save picture, And more to make it good app that inspired by google app keep Notes.

API Kotlin Version Jetpack Compose Kotlin Coroutines Version Gradle GitHub license Android Platform Android CI CodeFactor Wakatime

Screenshots

Download

Logo

Download APK from GitHub

Libraries

A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.

A multiplatform navigation library built for, and seamlessly integrated with, Jetpack Compose.

The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.

Koin is a pragmatic lightweight dependency injection framework for Kotlin developers.

Jetpack Compose canvas library that helps you draw paths, images on canvas with color pickers and palettes.

Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet available.

  1. Permissions: A library that provides Android runtime permissions support for Jetpack Compose.

  2. Pager: A library that provides utilities for building paginated layouts in Jetpack Compose, similar to Android's ViewPager.

  3. Navigation-Animation: A library which provides Compose Animation support for Jetpack Navigation Compose.

  4. SwipeRefresh: A library that provides a layout implementing the swipe-to-refresh UX pattern, similar to Android's SwipeRefreshLayout.

  5. Flow Layouts: A library that adds Flexbox-like layout components to Jetpack Compose.

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet.

CameraX is an addition to Jetpack that makes it easier to add camera capabilities to your app. The library provides a number of compatibility fixes and workarounds to help make the developer experience consistent across many devices.

LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state.

An image loading library for Android backed by Kotlin Coroutines.

Collects all dependency details including licenses at compile time, and offers simple APIs to visualize these in the app.

WorkManager is the recommended solution for persistent work. Work is persistent when it remains scheduled through app restarts and system reboots.

The App Hierarchy

                          *****************************
                          |        UI Controller      |
                          *****************************
                                        |
                                        |
                          *****************************
                          |        View Module        |
                          *****************************
                                        |
                                        |
                          *****************************
                          |         Repository        |
                          *****************************
                                        |
                      --------------------------------------
                      |                                     |
          *****************************      *****************************
          |            Room           |      |        ...........        |
          *****************************      *****************************

Check it out Project manager to see what's going on and what's coming in this project.

License

Copyright 2022 The Android Open Source Project
 
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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.