# azdine-mesbah/chariaa architecture

> Architecture diagram of the GitHub repository azdine-mesbah/chariaa, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/azdine-mesbah/chariaa
- Repository: https://github.com/azdine-mesbah/chariaa

## Overview

This is an Android student-services app: students can sign in, view their profile and transcript, and browse or save articles; the interface also exposes library and questions areas. MainActivity coordinates navigation and session data, while fragments implement screens and POSTData communicates with the remote service. The questions screen is explicitly a placeholder. The README is empty, and several connections below rely on source-index references rather than inspected implementation details.

Main entry points: [`app/src/main/java/com/usmba/chariaa/MainActivity.java`](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/MainActivity.java) (App coordinator), [`app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java) (Student area), [`app/src/main/java/com/usmba/chariaa/Tools/POSTData.java`](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Tools/POSTData.java) (POST transport), [`app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java`](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java) (Article feed)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_appflow["App navigation"]
  node_main_activity["App coordinator<br/>[MainActivity.java]"]
  node_login["Sign in"]
  node_home["Home tabs<br/>[Fragment_Home.java]"]
  node_questions["Questions"]
  node_error["Error screen"]
  node_pager_adapter["Tab pager adapter"]
end

subgraph group_student["Student services"]
  node_student_area["Student area"]
  node_profile["Student profile"]
  node_transcript["Transcript"]
  node_documents["Documents"]
  node_semester_adapter["Semester adapter"]
end

subgraph group_content["Articles and library"]
  node_home_articles["Article feed"]
  node_article_detail["Article detail"]
  node_saved_articles["Saved articles"]
  node_library["Library screen"]
  node_article_adapter["Article list adapter"]
end

subgraph group_domain["Data and transport"]
  node_post_data["POST transport<br/>[POSTData.java]"]
  node_remote_service{{"University service"}}
  node_article_data["Article response<br/>[DataArticles.java]"]
  node_article_model["Article model<br/>[Article.java]"]
  node_student_data["Student response<br/>[DataEtudiant.java]"]
  node_student_model["Student model<br/>[Etudiant.java]"]
  node_transcript_data["Transcript data<br/>[DataReleve.java]"]
  node_semester_model["Semester model<br/>[Semestre.java]"]
  node_module_model["Module model<br/>[Module.java]"]
  node_collection_data["Saved collection"]
end

node_student_user(("Student"))

node_student_user -.->|"opens app"| node_main_activity
node_main_activity -->|"sets up"| node_login
node_main_activity -->|"sets up"| node_home
node_main_activity -->|"sets up"| node_student_area
node_main_activity -->|"sets up"| node_questions
node_main_activity -->|"sets up"| node_error
node_student_area -->|"configures tabs"| node_pager_adapter
node_student_area -->|"adds tab"| node_profile
node_student_area -->|"adds tab"| node_transcript
node_student_area -->|"adds tab"| node_documents
node_home -->|"uses tabs"| node_pager_adapter
node_home_articles -->|"requests articles"| node_post_data
node_home_articles -->|"parses response"| node_article_data
node_home_articles -->|"updates list"| node_article_adapter
node_saved_articles -->|"requests articles"| node_post_data
node_saved_articles -->|"parses response"| node_article_data
node_saved_articles -->|"updates list"| node_article_adapter
node_article_adapter -->|"renders items"| node_article_model
node_article_data -->|"contains articles"| node_article_model
node_article_detail -->|"requests save or delete"| node_main_activity
node_main_activity -->|"fetches remote data"| node_post_data
node_main_activity -->|"parses student"| node_student_data
node_main_activity -->|"parses transcript"| node_transcript_data
node_main_activity -->|"loads collection"| node_collection_data
node_student_data -->|"builds student"| node_student_model
node_transcript_data -->|"builds semesters"| node_semester_model
node_semester_model -->|"contains modules"| node_module_model
node_transcript -->|"uses adapter"| node_semester_adapter
node_transcript -->|"reads transcript"| node_transcript_data
node_post_data -->|"sends POST"| node_remote_service

click node_main_activity "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/MainActivity.java"
click node_login "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Login.java"
click node_home "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home.java"
click node_questions "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Question/Fragment_Questions.java"
click node_error "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Error.java"
click node_student_area "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java"
click node_profile "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Profile.java"
click node_transcript "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Releve.java"
click node_documents "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Documents.java"
click node_home_articles "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java"
click node_article_detail "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowArticle.java"
click node_saved_articles "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java"
click node_library "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Library.java"
click node_article_adapter "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Articles.java"
click node_pager_adapter "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_SectionsPager.java"
click node_semester_adapter "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Semester.java"
click node_post_data "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Tools/POSTData.java"
click node_article_data "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Article/DataArticles.java"
click node_article_model "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Article/Article.java"
click node_student_data "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Etudiant/DataEtudiant.java"
click node_student_model "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Etudiant/Etudiant.java"
click node_transcript_data "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/DataReleve.java"
click node_semester_model "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/Semestre.java"
click node_module_model "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/Module.java"
click node_collection_data "https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/DataMyCollection.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main_activity,node_login,node_home,node_questions,node_error,node_pager_adapter toneBlue
class node_student_area,node_profile,node_transcript,node_documents,node_semester_adapter toneAmber
class node_home_articles,node_article_detail,node_saved_articles,node_library,node_article_adapter toneMint
class node_post_data,node_remote_service,node_article_data,node_article_model,node_student_data,node_student_model,node_transcript_data,node_semester_model,node_module_model,node_collection_data toneRose
class node_student_user toneIndigo
```

## Components

### App navigation

- [App coordinator](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/MainActivity.java): `app/src/main/java/com/usmba/chariaa/MainActivity.java`
- [Sign in](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Login.java): `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Login.java`
- [Home tabs](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home.java): `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home.java`
- [Questions](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Question/Fragment_Questions.java): `app/src/main/java/com/usmba/chariaa/Fragments/Question/Fragment_Questions.java`
- [Error screen](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Error.java): `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_Error.java`
- [Tab pager adapter](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_SectionsPager.java): `app/src/main/java/com/usmba/chariaa/Adapters/Adapter_SectionsPager.java`

### Student services

- [Student area](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java): `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`
- [Student profile](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Profile.java): `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Profile.java`
- [Transcript](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Releve.java): `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Releve.java`
- [Documents](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Documents.java): `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Documents.java`
- [Semester adapter](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Semester.java): `app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Semester.java`

### Articles and library

- [Article feed](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java): `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java`
- [Article detail](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowArticle.java): `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowArticle.java`
- [Saved articles](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java): `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java`
- [Library screen](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Library.java): `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Library.java`
- [Article list adapter](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Articles.java): `app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Articles.java`

### Data and transport

- [POST transport](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Tools/POSTData.java): `app/src/main/java/com/usmba/chariaa/Tools/POSTData.java`
- **University service**
- [Article response](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Article/DataArticles.java): `app/src/main/java/com/usmba/chariaa/Models/Article/DataArticles.java`
- [Article model](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Article/Article.java): `app/src/main/java/com/usmba/chariaa/Models/Article/Article.java`
- [Student response](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Etudiant/DataEtudiant.java): `app/src/main/java/com/usmba/chariaa/Models/Etudiant/DataEtudiant.java`
- [Student model](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Etudiant/Etudiant.java): `app/src/main/java/com/usmba/chariaa/Models/Etudiant/Etudiant.java`
- [Transcript data](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/DataReleve.java): `app/src/main/java/com/usmba/chariaa/Models/Releve/DataReleve.java`
- [Semester model](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/Semestre.java): `app/src/main/java/com/usmba/chariaa/Models/Releve/Semestre.java`
- [Module model](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/Releve/Module.java): `app/src/main/java/com/usmba/chariaa/Models/Releve/Module.java`
- [Saved collection](https://github.com/azdine-mesbah/chariaa/blob/master/app/src/main/java/com/usmba/chariaa/Models/DataMyCollection.java): `app/src/main/java/com/usmba/chariaa/Models/DataMyCollection.java`

### Other components

- **Student**

## Connections

- Student → App coordinator: opens app
- App coordinator → Sign in: sets up (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Home tabs: sets up (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Student area: sets up (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Questions: sets up (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Error screen: sets up (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- Student area → Tab pager adapter: configures tabs (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`)
- Student area → Student profile: adds tab (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`)
- Student area → Transcript: adds tab (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`)
- Student area → Documents: adds tab (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant.java`)
- Home tabs → Tab pager adapter: uses tabs (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home.java`)
- Article feed → POST transport: requests articles (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java`)
- Article feed → Article response: parses response (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java`)
- Article feed → Article list adapter: updates list (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Home/Fragment_Home_Articles.java`)
- Saved articles → POST transport: requests articles (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java`)
- Saved articles → Article response: parses response (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java`)
- Saved articles → Article list adapter: updates list (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowMyArticles.java`)
- Article list adapter → Article model: renders items (evidence: `app/src/main/java/com/usmba/chariaa/Adapters/Adapter_Articles.java`)
- Article response → Article model: contains articles (evidence: `app/src/main/java/com/usmba/chariaa/Models/Article/DataArticles.java`)
- Article detail → App coordinator: requests save or delete (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Fragment_ShowArticle.java`)
- App coordinator → POST transport: fetches remote data (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Student response: parses student (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Transcript data: parses transcript (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- App coordinator → Saved collection: loads collection (evidence: `app/src/main/java/com/usmba/chariaa/MainActivity.java`)
- Student response → Student model: builds student (evidence: `app/src/main/java/com/usmba/chariaa/Models/Etudiant/DataEtudiant.java`)
- Transcript data → Semester model: builds semesters (evidence: `app/src/main/java/com/usmba/chariaa/Models/Releve/DataReleve.java`)
- Semester model → Module model: contains modules (evidence: `app/src/main/java/com/usmba/chariaa/Models/Releve/Semestre.java`)
- Transcript → Semester adapter: uses adapter (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Releve.java`)
- Transcript → Transcript data: reads transcript (evidence: `app/src/main/java/com/usmba/chariaa/Fragments/Etudiant/Fragment_Etudiant_Releve.java`)
- POST transport → University service: sends POST (evidence: `app/src/main/java/com/usmba/chariaa/Tools/POSTData.java`)
