Skip to content

Despre baza de date

Nicoleta Ciausu edited this page Jul 27, 2019 · 1 revision

Aplicatia foloseste o baza de date SQL, alaturi de database engine-ul SQLite, folosit foarte des in crearea aplicatiilor pentru mobil.

Pentru folosirea SQLite cu Cordova, am nevoie de urmatoarele pluginuri: cordova-sqlite-storage: implementeaza toate functionalitatile SQLite cordova-sqlite-porter: imi permite sa populez baza de date cu niste date initiale salvate intr-un fisier .sql

Baza de date are structura urmatoare: (la momentul screenshoturilor, baza de date era populata cu placeholder data)

Tabelul Categories:

Categories

Contine id-ul fiecarei categorii, informatii despre aceasta, numarul de lectii disponibile si lectia la care utilizatorul a ajuns (daca a ales categoria aceasta. Daca nu a ales-o, valoarea campului "progress" va fi null.)

Tabelul Lessons:

Lessons

Contine informatiile fiecarei lectii, atat sumarul de prezentare(header) cat si paragrafele/imaginile lectiei efective.

Interfete

Cum TypeScript imi ofera un typesystem peste JS, pot sa-mi definesc propriile tipuri de date prin interfete, si sa folosesc obiecte, vectori care sunt de tipul ala.

In cadrul aplicatiei, interfetele folosite sunt urmatoarele:

export interface Lesson {

  //identif
  id:number;
  categoryId:number;

  //header
  headerTitle:string;
  headerDesc:string;
  headerImage:string;

  //data

  paragraphs: string[];
  img: string[];
  lessonIndex:number;
  isComplete:number;
  

}

export interface Category {

  categoryId:number;
  name:string;
  desc:string;
  img:string;
  lessonCount:number;
  progress:number;
}

export interface CategoryData {

  categoryId:number,
  progress:number,
  lessonCount:number;
} 

unde Lesson, Category au campuri identice cu coloanele prezente in tabelele Lessons, Categories, iar CategoryData este interfata folosita la memorarea caror categorii sunt selectate de catre user, in Local Storage.

Clone this wiki locally