πŸ“¦ RoomAccounting app - a simple invoice accouting application πŸ“¦

Last update: Jul 26, 2022

RoomAccounting

RoomAccounting app is a simple invoice accouting application. Based on local database with the CRUD operation.

Architecture πŸ“

Project is a single module consist of multiple packages in order to achieve MVVM architecture.

  • data
  • di
  • repository
  • ui
    • base
    • binding
    • home
    • recyclerview
  • utility

Features 🦿

  • Pre-populating Data from local asset.
  • User can create a complete invoice with a list of items.
  • User can edit saved invoice.
  • User can create and save a draft invoice.
  • User can delete the invoice.

Android/Kotlin Beauty πŸ«€ 🫁 🧠

  • BindingAdapters
  • Custom Moshi Adapters
  • Retrieving and loading local JSON asset
  • Date Formatting
  • Generic RecyclerView based on ViewModel
  • Hilt separate module for testing and production
  • Room Type Converters
  • Drawable states for button clicks
  • Preloaded fonts
  • SharedTest support
  • Unit Testing
  • Instrumentation Testing with Hilt for Fragments in isolation
  • End to End Testing
  • Custom Matchers and ViewActions for adequate testing

Tech-stack πŸ› 

This project use multiple libraries to bring easy way of implementation

Screenshot πŸ“±

Contact πŸ”—

Let's connect here -> webprofile

License πŸ“

MIT License

Copyright (c) 2022 Akshay Nandwana

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

GitHub

https://github.com/anandwana001/RoomAccounting
You might also like...

Showify is a my first simple βœ… Android application πŸ“± using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor

Showify is a my first simple βœ… Android application πŸ“± using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor

Showify is a my first simple βœ… Android application πŸ“± using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor and so much more...

Jun 21, 2022

Quiz Zone is a simple βœ… Quiz Android application πŸ“± using Firbase Firestore Database and Material Design.

Quiz Zone is a simple βœ… Quiz Android application πŸ“± using Firbase Firestore Database and Material Design.

Quiz Zone Quiz Zone is a simple βœ… Quiz Android application πŸ“± using Firbase Firestore Database and Material Design. You can Install and test Quiz Zone

Aug 2, 2022

Tictactoe-android-app - Simple TicTacToe Android app written in Kotlin

Tictactoe-android-app - Simple TicTacToe Android app written in Kotlin

TicTacToe Android App This is a simple example of TicTacToe game as Android app

Jul 9, 2022

πŸ”₯The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

πŸ”₯The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

πŸ”₯The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

Aug 16, 2022

Application includes Admob SDK, In-App Messaging, Crashlytics, Lottie, Flurry

Application includes Admob SDK, In-App Messaging, Crashlytics, Lottie, Flurry

AdvertisementApplication This application includes Admob SDK, In-App Messaging, Crashlytics, Lottie, Flurry. * Admob: AdMob helps you monetize your mo

Nov 8, 2021

ToDo App based on Modern Android Application tech-stacks and MVVM architecture.

ToDo App based on Modern Android Application tech-stacks and MVVM architecture.

ToDo App Task Management App based on Modern Android Application tech-stacks and MVVM architecture. Techs Used πŸ’» Kotlin - First class and official pr

Jul 22, 2022

Product promotion and ordering application. Aliexpress App

Product promotion and ordering application. Aliexpress App

This application promotes a company and sends the product to the customer by taking the orders from the user from the service. Product promotion and ordering application. Aliexpress App

Jan 28, 2022

Third application for Big Brain Kotlin book, will be pokemon collection app

Third application for Big Brain Kotlin book, will be pokemon collection app

Big Brain Kotlin : Application #3 - PokemonHurddle Third application for Big Brain Kotlin book, will be pokemon collecting app 11285 Pokemon and becom

May 12, 2022

The WeeBe application is a social media-type app built on Ktor framework

The WeeBe application is a social media-type app built on Ktor framework that allows users to exchange various content connected with mental health, motivation, psychology, and improving oneself. Users can share posts with texts, images, videos, and links, as well as discuss the content in the comment section

Aug 5, 2022
A simple Android application to store daily notes in the internal database of the application

Simple Note App Note App is a simple Android application to store daily notes in the internal database of the application and can store an image or a

Jun 3, 2022
LinkHub is a simple and effective link management application that can help you to easily manage your app with no ads!
LinkHub is a simple and effective link management application that can help you to easily manage your app with no ads!

LinkHub LinkHub is a simple and effective link management application that can help you to easily manage your own links with no ads! Download Screensh

Aug 6, 2022
Android application compatible with ZX2C4's Pass command line application
Android application compatible with ZX2C4's Pass command line application

Password Store Download Documentation We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen her

Aug 14, 2022
This is a simple Rest Api for todo application

This is a simple Rest Api for todo application , where users do signup, login and add their respective todos. So this api is fully based on Ktor framework.

Jul 11, 2022
Simple Kotlin application that displays the currently available network interfaces on your machine

Network-Interface-Checker Simple Kotlin application that displays the currently available network interfaces on your machine. An executable jar can be

Jun 10, 2022
A very simple accounts application using Vert.x and Crabzilla

Accounts2 This is an example of an application using Vert.x and Crabzilla Status Work in progress Requirements Java 11 Maven Docker compose Running 1

Jan 12, 2022
Simple application showing wallets fetched from fake services

LittleWallet Resume Simple application showing wallets fetched from fake services. User can filter wallets by currency types and click to enter a deta

Nov 15, 2021
Simple Caching application from @CodinginFlow

SimpleCaching Simple app that fetches data from a REST API using Retrofit, and caches this data for offline use in an SQLite database using the Room p

Mar 3, 2022
Test tv - A marketing company needs a simple pluggable application with a RESTful interface

Demo project A marketing company needs a simple pluggable application with a RES

Jan 18, 2022
MiStoryView is a simple configurable library to integrate stories features into your social media android application.
MiStoryView is a simple configurable library to integrate stories features into your social media android application.

MiStoryView MiStoryView is a simple configurable library to integrate stories features into your social media android application. Preview Key feature

Aug 4, 2022