# giovanni-fm/quizdasbandeiras architecture

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

- Interactive diagram: https://gitdiagram.com/giovanni-fm/quizdasbandeiras
- Repository: https://github.com/giovanni-fm/quizdasbandeiras

## Overview

Quiz das Bandeiras is a small Android flag-quiz app. The user enters a name, answers a fixed sequence of flag questions, and sees a final score and name; results allow restarting or returning to the main screen. Activity source shows the screen transitions and intent data. The tree lists the layouts, but the referenced flag image resources are not present in the supplied tree, so they are omitted.

Main entry points: [`app/src/main/java/br/edu/fatecgru/ResultadoActivity.java`](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/ResultadoActivity.java) (Results screen), [`app/src/main/java/br/edu/fatecgru/MainActivity.java`](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/MainActivity.java) (Name screen), [`app/src/main/java/br/edu/fatecgru/QuizActivity.java`](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/QuizActivity.java) (Quiz screen), [`app/src/main/res/layout/activity_main.xml`](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_main.xml) (Name layout)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Entry"]
  node_main["Name screen<br/>[MainActivity.java]"]
  node_main_layout["Name layout<br/>[activity_main.xml]"]
end

subgraph group_quiz["Quiz"]
  node_quiz["Quiz screen<br/>[QuizActivity.java]"]
  node_quiz_layout["Quiz layout<br/>[activity_quiz.xml]"]
end

subgraph group_results["Results"]
  node_result["Results screen"]
  node_result_layout["Results layout"]
end

node_user(("User"))

node_user -->|"opens app"| node_main
node_main -->|"renders"| node_main_layout
node_main -->|"launches with name"| node_quiz
node_quiz -->|"renders"| node_quiz_layout
node_quiz -->|"launches with score and name"| node_result
node_result -->|"renders"| node_result_layout
node_result -->|"restarts with name"| node_quiz
node_result -->|"returns on finish"| node_main

click node_main "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/MainActivity.java"
click node_main_layout "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_main.xml"
click node_quiz "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/QuizActivity.java"
click node_quiz_layout "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_quiz.xml"
click node_result "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/ResultadoActivity.java"
click node_result_layout "https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_resultado.xml"

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,node_main_layout,node_user toneBlue
class node_quiz,node_quiz_layout toneAmber
class node_result,node_result_layout toneMint
```

## Components

### Entry

- [Name screen](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/MainActivity.java): `app/src/main/java/br/edu/fatecgru/MainActivity.java`
- [Name layout](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_main.xml): `app/src/main/res/layout/activity_main.xml`

### Quiz

- [Quiz screen](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/QuizActivity.java): `app/src/main/java/br/edu/fatecgru/QuizActivity.java`
- [Quiz layout](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_quiz.xml): `app/src/main/res/layout/activity_quiz.xml`

### Results

- [Results screen](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/java/br/edu/fatecgru/ResultadoActivity.java): `app/src/main/java/br/edu/fatecgru/ResultadoActivity.java`
- [Results layout](https://github.com/giovanni-fm/quizdasbandeiras/blob/main/app/src/main/res/layout/activity_resultado.xml): `app/src/main/res/layout/activity_resultado.xml`

### Other components

- **User**

## Connections

- User → Name screen: opens app
- Name screen → Name layout: renders
- Name screen → Quiz screen: launches with name
- Quiz screen → Quiz layout: renders
- Quiz screen → Results screen: launches with score and name
- Results screen → Results layout: renders
- Results screen → Quiz screen: restarts with name
- Results screen → Name screen: returns on finish
