|
- export type IWord = {
- name: string,
- pronounciation: {
- text: string,
- audio: string, // URL for the audio file
- },
- similarWords: Array<IWord>,
- gramaticalDetails: Array<{
- type: 'NOUN' | 'PRONOUN' | 'ADJECTIVE' | 'VERB' | 'ADVERB' | 'PREPOSITION' | 'CONJUNCTION' | 'INTERJECTION',
- description: string,
- examples: Array<string>,
- }>
- }
-
- export type IShelf = {
- name: string,
- description: string,
- viewType: 'PUBLIC' | 'PRIVATE' | 'FRIENDS' | 'FOLLOWERS',
- isArchived: boolean,
- addedWords: Array<{
- word: IWord,
- notes: Array<string>,
- isFavourite: boolean,
- nextRevisionDateTime: Date,
- revisionHistory : Array<{
- day: Date,
- wasRecallSuccessful: boolean,
- }>
- }>
- }
-
- export type ICategory = {
- name: string,
- icon: string,
- shelves: Array<IShelf>,
- isArchived: boolean,
- }
-
- export type IUser = {
- // For Auth purposes
- _id: string,
- name: string,
- email: string,
- password: string,
- isVerified: boolean,
- otp: number,
-
- // Other records
- categories: Array<ICategory>
- }
|