# ajinkyashinde818/smartquiz architecture

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

- Interactive diagram: https://gitdiagram.com/ajinkyashinde818/smartquiz
- Repository: https://github.com/ajinkyashinde818/smartquiz

## Overview

This repository appears to be an Android quiz app with teacher-facing quiz management and student-facing quiz taking, plus Firebase messaging and a placeholder Cloud Function. The tree identifies distinct app screens and model/adapter layers, but no README or app-source excerpts show how screens navigate, how quiz attempts are scored or saved, or how Firebase is used. Accordingly, the graph maps the apparent product areas without asserting unsupported runtime connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Account and profiles"]
  node_login["Login<br/>[LoginActivity.java]"]
  node_register["Registration"]
  node_profile["Student profile"]
end

subgraph group_authoring["Quiz authoring"]
  node_teacher_dashboard["Teacher dashboard"]
  node_create_quiz["Create quiz"]
  node_manage_quiz["Manage quizzes"]
  node_edit_quiz["Edit quiz"]
  node_upload_quiz["Upload quiz"]
  node_manage_question["Manage questions"]
  node_add_question["Add question"]
  node_edit_question["Edit question"]
  node_quiz_model["Quiz model<br/>[Quiz.java]"]
  node_question_model["Question model<br/>[Question.java]"]
  node_quiz_adapter["Quiz adapter<br/>[QuizAdapter.java]"]
end

subgraph group_learning["Quiz participation"]
  node_student_dashboard["Student dashboard"]
  node_mode_selection["Quiz mode"]
  node_attempt["Attempt quiz"]
  node_result["Quiz result"]
  node_question_adapter["Question adapter"]
end

subgraph group_support["App support"]
  node_app_entry["App entry<br/>[MainActivity.java]"]
  node_splash["Splash screen"]
  node_messaging["Firebase messaging"]
  node_cloud_function["Placeholder function<br/>[index.js]"]
end

node_teacher(("Teacher"))
node_student(("Student"))

click node_login "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/LoginActivity.java"
click node_register "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/RegisterActivity.java"
click node_profile "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditStudentProfileActivity.java"
click node_teacher_dashboard "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/TeacherDashboardActivity.java"
click node_create_quiz "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/CreateQuizActivity.java"
click node_manage_quiz "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ManageQuizActivity.java"
click node_edit_quiz "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditQuizActivity.java"
click node_upload_quiz "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/UploadQuizActivity.java"
click node_manage_question "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ManageQuestionActivity.java"
click node_add_question "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/AddQuestionActivity.java"
click node_edit_question "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditQuestionActivity.java"
click node_quiz_model "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/models/Quiz.java"
click node_question_model "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/models/Question.java"
click node_quiz_adapter "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/adapters/QuizAdapter.java"
click node_student_dashboard "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/StudentDashboardActivity.java"
click node_mode_selection "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/QuizModeSelectionActivity.java"
click node_attempt "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/AttemptQuizActivity.java"
click node_result "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ResultActivity.java"
click node_question_adapter "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/adapters/QuestionAdapter.java"
click node_app_entry "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/MainActivity.java"
click node_splash "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/SplashActivity.java"
click node_messaging "https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/services/MyFirebaseMessagingService.java"
click node_cloud_function "https://github.com/ajinkyashinde818/smartquiz/blob/main/functions/index.js"

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_login,node_register,node_profile toneBlue
class node_teacher_dashboard,node_create_quiz,node_manage_quiz,node_edit_quiz,node_upload_quiz,node_manage_question,node_add_question,node_edit_question,node_quiz_model,node_question_model,node_quiz_adapter toneAmber
class node_student_dashboard,node_mode_selection,node_attempt,node_result,node_question_adapter toneMint
class node_app_entry,node_splash,node_messaging,node_cloud_function toneRose
class node_teacher,node_student toneIndigo
```

## Components

### Account and profiles

- [Login](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/LoginActivity.java): `app/src/main/java/com/example/quizapp/LoginActivity.java`
- [Registration](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/RegisterActivity.java): `app/src/main/java/com/example/quizapp/RegisterActivity.java`
- [Student profile](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditStudentProfileActivity.java): `app/src/main/java/com/example/quizapp/EditStudentProfileActivity.java`

### Quiz authoring

- [Teacher dashboard](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/TeacherDashboardActivity.java): `app/src/main/java/com/example/quizapp/TeacherDashboardActivity.java`
- [Create quiz](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/CreateQuizActivity.java): `app/src/main/java/com/example/quizapp/CreateQuizActivity.java`
- [Manage quizzes](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ManageQuizActivity.java): `app/src/main/java/com/example/quizapp/ManageQuizActivity.java`
- [Edit quiz](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditQuizActivity.java): `app/src/main/java/com/example/quizapp/EditQuizActivity.java`
- [Upload quiz](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/UploadQuizActivity.java): `app/src/main/java/com/example/quizapp/UploadQuizActivity.java`
- [Manage questions](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ManageQuestionActivity.java): `app/src/main/java/com/example/quizapp/ManageQuestionActivity.java`
- [Add question](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/AddQuestionActivity.java): `app/src/main/java/com/example/quizapp/AddQuestionActivity.java`
- [Edit question](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/EditQuestionActivity.java): `app/src/main/java/com/example/quizapp/EditQuestionActivity.java`
- [Quiz model](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/models/Quiz.java): `app/src/main/java/com/example/quizapp/models/Quiz.java`
- [Question model](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/models/Question.java): `app/src/main/java/com/example/quizapp/models/Question.java`
- [Quiz adapter](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/adapters/QuizAdapter.java): `app/src/main/java/com/example/quizapp/adapters/QuizAdapter.java`

### Quiz participation

- [Student dashboard](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/StudentDashboardActivity.java): `app/src/main/java/com/example/quizapp/StudentDashboardActivity.java`
- [Quiz mode](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/QuizModeSelectionActivity.java): `app/src/main/java/com/example/quizapp/QuizModeSelectionActivity.java`
- [Attempt quiz](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/AttemptQuizActivity.java): `app/src/main/java/com/example/quizapp/AttemptQuizActivity.java`
- [Quiz result](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/ResultActivity.java): `app/src/main/java/com/example/quizapp/ResultActivity.java`
- [Question adapter](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/adapters/QuestionAdapter.java): `app/src/main/java/com/example/quizapp/adapters/QuestionAdapter.java`

### App support

- [App entry](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/MainActivity.java): `app/src/main/java/com/example/quizapp/MainActivity.java`
- [Splash screen](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/SplashActivity.java): `app/src/main/java/com/example/quizapp/SplashActivity.java`
- [Firebase messaging](https://github.com/ajinkyashinde818/smartquiz/blob/main/app/src/main/java/com/example/quizapp/services/MyFirebaseMessagingService.java): `app/src/main/java/com/example/quizapp/services/MyFirebaseMessagingService.java`
- [Placeholder function](https://github.com/ajinkyashinde818/smartquiz/blob/main/functions/index.js): `functions/index.js`

### Other components

- **Teacher**
- **Student**
