myplantdiaryq's People
Forkers
biniamhaddish saikrishna41 brandan-jones tetrastrider mdnu00031 harireddy910 purankansakar maiosprog natanfelipe bonchinche yugn17 nan0core hamas-qureshi ahnset griyanet mthad eklopfstein hitchnt emiller321 crystolline awalderdev tianzuoeun adkersonjohn ibukundanny bdaha amitayumodak tandu64 kovaciad karan0623 zacharba sachinbhola anwarkamel oyeraghib elijahappexpert nellepallenmk beaslecd gordonl marvinmosa armanramiz aunglintun6030 maxde1 joshanness phanga cjoseanguiano inpeters samgehrlich ksdc-aaronp oussx bracko-3 subrama2 gasawase hopbless jakobbrowniemyplantdiaryq's Issues
Refactor LocationViewModel to ApplicationViewModel
ApplicationViewModel is more appropriate for an Application based ViewModel; that is, a ViewModel that has a context object.
Create LocationLiveData
Update UI to show latitude and longitude when location changes.
Update the UI to show location information
Add function to save plant collection to local Room database.
Create Event DTO
Event DTO will hold events that apply to a specimen: water, fertilize, transplant, etc.
Add Location permissions to AndroidManifest
Add permissions for coarse and fine locations to the Android manifest.
Use new ImageButtons on fragments to invoke Activity functions to swap fragments
Create LocationRequest instance
Update authentication rules for private directories in Firebase Cloud Storage
Write TDD Unit tests
Upload Image binary to Firebase Cloud Storage
Turn off location updates in onInactive
Turn off location updates when no longer observed.
Add firebase instance and save method to ViewModel
Add viewModelScope to ViewModel for co-routine
Add localPhotoURI attribute to the Event.
This allows us to save photo location data to the Event data class.
Suppress saving attribute to Firebase by using @Exclude
We will store the Events as a Firestore collection, so that we can query and update them separately. So, we want to associate them in memory, with an ArrayList, but we'll handle that ArrayList persistence to Firestore manually. So, we use the @exclude tag to prevent it from persisting.
Update build.gradle with Room dependencies and KAPT annotation processor
Create Room Database abstract class.
The abstract class ties together our data class and DAO interface with a Room instance. Annotate this with an @database annotation.
Create subclass of AndroidViewModel
Subclassing AndroidViewModel allows us to create a ViewModel class that is Android aware.
Add listener method to ViewModel, along with SnapshotListener.
Store Event objects to a new Firebase Cloud Firestore Collection
Create DAO interface for Room
Change plant AutoCompleteTextView to observe from Room database instead of JSON database.
Pull functions up to DiaryFragment from MainFragment.
Store Firebase ID into Specimen DTO
Listen for locationRequest on onActive
onActive: someone is looking at live data, so we should subscribe to updates.
Create Firebase Instance
Create SimpleOnGestureListener inner class to handle fling events.
Add event to specimen in ViewModel
Capture data from the Event screen, and store it in an Event object. Associate that Event object with the Specimen in our ViewModel.
Share ViewModel between fragments.
Use the Activity to share a ViewModel between fragments.
Create common DiaryFragment superclass.
Lazy load events for Specimens.
Create event handlers for swipe left, right, top, and bottom.
Add a new Take Photo button to event screen.
This will invoke the superclass logic to capture a photo and save it to the SD Card.
Create a Login Screen with Firebase Authentication
update build.gradle with libraries
update the build.gradle with the location services libraries. Then, rebuild project.
Create Event fragment.
Event fragment will have fields to enter data about an event.
Get Plant object from AutoCompleteTextView
Add RecyclerView for events to Specimen screen.
Refactor ViewModel to show the current Specimen.
Expose a specimen in the view model, so that it can be shared between specimens.
Add Google Sign in as an Oauth Provider
Update RecyclerView using observable LiveData and ViewModel
Create Photo data class
Annotate data class with @Entity and @PrimaryKey annotations.
Update Firebase Cloud Firestore with Public Image URL
Add google-services.json to our project, and update build.gradle
Create RecyclerView with local data on Events fragment.
Add update capability to save for specimens.
Make Specimen Spinner selectable; update UI with selected Specimen.
Add a collection of Photo documents to Specimen documents in Cloud Firestore
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.