/Writters-Diary

An Android Application build for online writers to keep track of their orders

Primary LanguageKotlinApache License 2.0Apache-2.0

Writer's Diary

An Android Application build for online writers to keep track of their orders. It can be thought of as a diary for recording orders. It would serve writers across all categories: article writers, blog writers, technical writers, academic writers and any other user who would find the app useful. You can use the app as a writer or as a client or even both

Tech Stack

  • MVVM architecture - Helps to write clean, structured, organized and easily testable code
    • Room Database - For data storage and persistence
    • ViewModel - Stores and manages UI-related data in a lifecycle conscious way. It also allows data to survive configuration changes such as screen rotations.
    • Repository - Handle data operations. provides a clean API so that the rest of the app can retrieve this data easily
    • LiveData & Flow - these patterns facilitate live updates in the app
  • Dagger Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
  • CardView Layout - Gives views a card-like interface
  • RecyclerViews - for efficient display of large lists of data
    • ListAdapter
    • DiffUtil - calculates the difference between two lists to efficiently update a list displayed by RecyclerView.
  • Coroutines - Helps to manage long-running tasks that might otherwise block the main thread and cause your app to become unresponsive
  • Fragments - Provides reusable portions of the App's UI
  • DataBinding - allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • BindingAdapters - Responsible for making the appropriate framework calls to set values t o views ...
  • Navigation Component - Helps to implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer *Safeargs - passing data between fragments
  • ✨ [Google Truth Library][16] - for writing assertion during testing

Screenshots

:--: :--: :--:

License

   Copyright 2021 Samuel Juma

   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

       http://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.