This project is no longer able to compile due having antiquated dependencies (cannot find due to JCenter being shut down) and needing to move on to other projects.
This helps you keep track of when you take prescriptions.
You can find the latest APK here.
Technical Features
- MVVM architecture with multithreading via RxJava 3 and dependency injection via Dagger 2.
- View: Fragments set-up as Passive Views. I use a single Activity with Jetpack's Navigation.
- ViewModel: A combination of a ViewModel and a Presenter. It is extending Jetpack's ViewModel
- Repository: It hides the implementation details from the front-end. There are separate repositories for storage of the time stamps and prescriptions.
- Multi-module
- App module
- Front-end.
- ViewModels and their respective Views.
- Dagger 2.
- Domain module
- Contains the app's solution its problem domain.
- The Interface that the repository will implement and the front-end will use to talk to the repository. Only RxJava observables are returned, Flowables and Completables specifically.
- Data models for the View.
- Data module
- Implementation specific details for how data is stored and handled.
- Repositories for data storage.
- Data models for the back-end.
- App module
- The database is SQLite implemented with Jetpack's Room.
- Firebase Crashlytics for automated crash reporting.
- Unit testing with JUnit 5, AssertJ, and MockK.
- CI with GitHub Actions.
View all added time stamps.
Add prescriptions and view what has already been added.
Add a new time stamp.
Night mode
Copyright (c) 2020-present, David M Precopia.
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.