[ ] Create word model that is serializable from JSON
[ ] Create word_db_service to load the file and parse the json into Word objects
Notes
The word database will contain all of the vocabulary words that the app knows about. Initially I'll just read these in from a JSON file loaded from the app assets.
Eventually, it would be better to store the word database in an actually database. Eventually I wanted to write this app as an Amplify app (I still probably will) and store the word database in AWS. But I'd really like this app to be able to work fully offline so SQLite or Couchbase Lite might be a good solution.
Maybe even a combination so that the database could be updated without recompiling and redeploying the app, but still work completely off line. I could use a version table in the server db and have the app check for new versions on startup. If the app is offline, just work with the old database until the next time it's able to connect.
Word Model
Each word will have the following fields:
en - The word in English
es - The word in Spanish
tags - List of tags associated with the word {e,g, singular, informal, Spain, etc)
pos - Part of speech
cat - List of categories for this word (e.g. color, animal, kitchen, travel, time, date, etc.)
Notes
The word database will contain all of the vocabulary words that the app knows about. Initially I'll just read these in from a JSON file loaded from the app assets.
Eventually, it would be better to store the word database in an actually database. Eventually I wanted to write this app as an Amplify app (I still probably will) and store the word database in AWS. But I'd really like this app to be able to work fully offline so SQLite or Couchbase Lite might be a good solution.
Maybe even a combination so that the database could be updated without recompiling and redeploying the app, but still work completely off line. I could use a version table in the server db and have the app check for new versions on startup. If the app is offline, just work with the old database until the next time it's able to connect.
Word Model
Each word will have the following fields:
References