Differences

This shows you the differences between two versions of the page.

Link to this comparison view

android:proiect:2025:proiecte:recipefinder [2025/05/30 00:34]
violeta_ana.draica
android:proiect:2025:proiecte:recipefinder [2025/05/30 00:45] (current)
violeta_ana.draica
Line 2: Line 2:
  
  
-Draica Violeta Ana-Maria, AAC, github: https://​github.com/​violetaanamaria/​RecipeFinder ​+Draica Violeta Ana-Maria, AAC, github: ​[[https://​github.com/​violetaanamaria/​RecipeFinder]] 
  
 ====== Descriere generală ====== ====== Descriere generală ======
Line 12: Line 12:
  
  
-  * **Căutare rețete** după ingredient sau nume (prin API-ul [TheMealDB](https://​www.themealdb.com)). +**Căutare rețete** după ingredient sau nume (prin API-ul [TheMealDB](https://​www.themealdb.com)). 
-  ​* ​**Afișare detalii rețetă**: imagine, instrucțiuni,​ listă ingrediente + cantități. + 
-  ​* ​**Favorite**:​ adăugare / eliminare rețete în/din lista de favorite. +**Afișare detalii rețetă**: imagine, instrucțiuni,​ listă ingrediente + cantități. 
-  ​* ​**Dark Mode**: activare/​dezactivare mod întunecat din Settings. + 
-  ​* ​**Ștergere favorite**: buton în Settings pentru ștergerea completă a rețetelor favorite (Clear all favorites). +**Favorite**:​ adăugare / eliminare rețete în/din lista de favorite. 
-  ​* ​**Persistență locală** a rețetelor favorite cu Room Database. + 
-  ​* ​**Navigare** prin meniul lateral între: +**Dark Mode**: activare/​dezactivare mod întunecat din Settings. 
-   ​*   *  ​Search + 
-  ​*   *   ​Favorites +**Ștergere favorite**: buton în Settings pentru ștergerea completă a rețetelor favorite (Clear all favorites). 
-  ​*   *   ​Settings+ 
 +**Persistență locală** a rețetelor favorite cu Room Database. 
 + 
 +**Navigare** prin meniul lateral între: 
 + 
 +  ​*   ​Search 
 +  *   ​Favorites 
 +  *   ​Settings
  
 ======= Tehnologii folosite ======= ======= Tehnologii folosite =======
Line 41: Line 48:
 Aplicația este structurată folosind arhitectura **MVVM (Model-View-ViewModel)**,​ o abordare recomandată în dezvoltarea Android pentru separarea responsabilităților și o mai bună testabilitate:​ Aplicația este structurată folosind arhitectura **MVVM (Model-View-ViewModel)**,​ o abordare recomandată în dezvoltarea Android pentru separarea responsabilităților și o mai bună testabilitate:​
  
-**Model**: include clasele de date (`Meal`, `FavoriteMeal`),​ clasa DAO pentru accesul la baza de date (`MealDao`) și `MealApiService` pentru interacțiunea cu API-ul extern. +  * **Model**: include clasele de date (`Meal`, `FavoriteMeal`),​ clasa DAO pentru accesul la baza de date (`MealDao`) și `MealApiService` pentru interacțiunea cu API-ul extern. 
-**ViewModel**:​ `MealViewModel` gestionează logica de business și starea ecranului pentru rețete, iar `SettingsViewModel` controlează stările aplicației precum tema (dark/​light) +  ​* ​**ViewModel**:​ `MealViewModel` gestionează logica de business și starea ecranului pentru rețete, iar `SettingsViewModel` controlează stările aplicației precum tema (dark/​light) 
-**View**: este alcătuită din componente Composable definite în `ui/​screens`,​ care observă datele din ViewModel și se actualizează automat în funcție de acestea.+  ​* ​**View**: este alcătuită din componente Composable definite în `ui/​screens`,​ care observă datele din ViewModel și se actualizează automat în funcție de acestea. 
 + 
 +====== Endpoint-uri folosite ======
  
-## Endpoint-uri folosite 
  
 - `GET https://​www.themealdb.com/​api/​json/​v1/​1/​search.php?​s={nume}`  ​ - `GET https://​www.themealdb.com/​api/​json/​v1/​1/​search.php?​s={nume}`  ​
   Caută rețete după nume.  ​   Caută rețete după nume.  ​
   Exemplu: `https://​www.themealdb.com/​api/​json/​v1/​1/​search.php?​s=pizza`   Exemplu: `https://​www.themealdb.com/​api/​json/​v1/​1/​search.php?​s=pizza`
-## Bază de date locală+   
 +====== ​Bază de date locală ​====== 
 + 
 + 
 +Se folosește Room pentru persistarea rețetelor favorite. 
 + 
 +Tabel: `favorites` definit prin `@Entity` 
 + 
 +Operații:​ 
 + 
 +  *   ​Inserare rețetă favorită 
 +  *   ​Ștergere rețetă după ID 
 +  *   ​Ștergere toate rețele favorite 
 +  *   ​Interogare toate retetele favorite 
 + 
 +====== Cum rulezi aplicația ======
  
-- Se folosește Room pentru persistarea rețetelor favorite. 
-- Tabel: `favorites` definit prin `@Entity` 
-- Operații: 
-  - Inserare rețetă favorită 
-  - Ștergere rețetă după ID 
-  - Ștergere toate rețele favorite 
-  - Interogare toate retetele favorite 
  
-## Cum rulezi aplicația+   ​- ​ 1. Clonează acest repo:
  
-1. Clonează acest repo: +''​git clone https://​github.com/​violetaanamaria/​RecipeFinder.git''​ 
-   ​```bash +  ​- ​  Deschide proiectul în Android Studio. 
-   git clone https://​github.com/​violetaanamaria/​RecipeFinder.git +  ​- ​Asigură-te că ai internet activ pentru a apela API-ul. 
-   ``` +  ​- ​Rulează aplicația pe un emulator sau dispozitiv fizic.
-2. Deschide proiectul în Android Studio. +
-3. Asigură-te că ai internet activ pentru a apela API-ul. +
-4. Rulează aplicația pe un emulator sau dispozitiv fizic.+
  
android/proiect/2025/proiecte/recipefinder.1748554472.txt.gz · Last modified: 2025/05/30 00:34 by violeta_ana.draica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0