Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Post Application

Audran MASSACRY

Application pour afficher une liste de posts et les détails de chaque post.

Features

  • Afficher une liste de posts
  • Afficher les détails d'un post
  • Système d'état pour les requêtes (loading, error, success)

Architecture

L'application suit l'architecture MVVM. Les différentes couches sont les suivantes :

  • Model : Contient les classes de données et les repositories
  • View : Interface utilisateur sous forme de fonctions composables
  • ViewModel : Gère les données et la logique métier liée à l'interface utilisateur

Model

Le model comprend l'ensemble des classes de données (Post par exemple) et les repositories. Par exemple, le repository PostRemoteRepository utilise le service ApiService pour récupérer les données. Il étend la classe PostRepository qui définit les différentes méthodes de récupération des données.

View

La view est composée des fonctions composables qui affichent l'interface utilisateur. Par exemple, PostListScreen affiche une liste des posts en utilisant le composable PostItem. Il appelle le viewmodel PostViewModel qui s'occupe de faire les appelles au repository et de mettre à jour l'état uiState qui gère l'affichage

ViewModel

Le ViewModel gère les données liées à l'interface utilisateur. Il traite aussi de la logique métier Par exemple, PostDetailViewModelgère l'appel de l'API par la méthode fetchPostById et met à jour l'état uiState en fonction du résultat de la requête.

Structure du projet

Le code est divisé en plusieurs packages :

  • data/ : Contient les repositories et les classes de service. Dans notre cas, liés à l'API
  • domain/ : Contient les models de nos données. Ici, il s'agit de notre Post, et des classes d'état utilisées pour les requêtes
  • presentation/ : Contient la couche de présenation incluant les composants, les écrans d'affichage (screens) et leurs viewmodels

Des tests unitaires sont aussi présent dans le dossier test/ concernant le viewmodel PostDetailViewModel

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages