I'm doing mock-ups for a flashcard* app. I have decided that a card/word** must belong to a deck and that a deck must belong to a class (or would "course" be a better word?) and that a class must also have a language associated with it.
In the app you have the Classes screen where you can add and remove classes. Once a class is created you can add decks to it. Once a deck is created you can add words (cards)** to it.
Please see the pdf below for clarification.
First there is a floating action button that opens up a dialog box where you can enter the information necessary to create a class (language and name).
Then I need to add decks to the classes. I have to do it in the class itself since there can be several classes on the screen simultaneously.
Then there's the screen where you add words/cards to the deck. I could use the same method as above, but having the entry field at a bottom of a list that can contain hundreds of entries feels like poor design to me.
So I have three lists and three ways of adding items to the lists. It seems rather discoverable to me, but I can also see that it is inconsistent. Do you think this is an acceptable solution, or is there a better way of doing it?
*Flashcards are a language study aid. You write a word in the language you're learning on one side, and write the same word in your own language on the other side.
**I'm struggling a bit with terminology too.. words are created elsewhere with translations, mnemonics and other info, and the cards are created on the fly from the words in the deck. Maybe I should call them cards here too. I thought it was a bit more clear to write "Add a word" because that's what you really do.