EtsTest-AndroidApps / NotesX

NotesX is a note taking Android application πŸ“± built using Jetpack Compose and also to demonstrate use of Modern Android development tools.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NotesX

NotesX is a note taking Android application πŸ“± built using Jetpack Compose and also to demonstrate use of Modern Android development tools.

You can Install and test latest NotesX app from below πŸ‘‡

NotesX

Setup

Clone the repository on your machine. Open the project on your IDE and connect it to your backend and everything will be set up. You can get the Spring Boot backend code from https://github.com/Vaibhav2002/Spring-Boot-Notes-REST-API

About

It uses my custom Spring Boot Backend. It is build purely on Jetpack Compose and follows the best android development practices.

  • Fully functionable.
  • Clean and Simple Material UI.
  • It supports dark theme too πŸŒ—.

πŸ“Έ Screenshots

Built With πŸ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • MutableState - A Data Structure which is widely used when developing ui in Jetpack Compose
    • Room - The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Backend - my custom Spring Boot Backend
  • Retrofit - A type-safe HTTP client for Android and Java.
  • GSON - A modern JSON library for Kotlin and Java.
  • Timber - A simple logging library for android.
  • GSON Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Glide - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Package Structure

com.vaibhav.notesX    # Root Package
.
β”œβ”€β”€ data                # For data handling.
β”‚   β”œβ”€β”€ local           # Classes for Room  
β”‚   β”œβ”€β”€ models          # Model Data Classes
β”‚   β”œβ”€β”€ remote          # Classes For Retrofit
|   β”œβ”€β”€ repo            # Single source of thruth
|   └── util            # utility classes
|
β”œβ”€β”€ di                  # Dependency Injection             
β”‚   └── module          # DI Modules
|
β”œβ”€β”€ ui                  # UI/View layer
β”‚   β”œβ”€β”€ composables     # All composables
β”‚   β”œβ”€β”€ theme           # Main app theme
|   └── viewmodels      # All ViewModels
|   
└── utils               # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contact

If you need any help, you can connect with me.

Visit:- VaibhavJaiswal.io

About

NotesX is a note taking Android application πŸ“± built using Jetpack Compose and also to demonstrate use of Modern Android development tools.

License:MIT License


Languages

Language:Kotlin 100.0%