Discover your knowledge about the car factories' history.
Sobre o desafio | Recursos e Funcionalidades | Instalação | Project Tree | License
🤖 Challenge - Mobile Technical Challenge
Desenvolver uma aplicação mobile simples sobre a origem das montadoras (país de origem), onde o usuário deverá responder algumas perguntas e obter seu resultado em forma de porcentagem no final do questionário.
- Quiz App em Flutter com Dart
- API service em C#
- Visualize o funcionamento do app Link da aplicação
- Telas obrigatórias do ciclo do usuário
- Quantidade indefinida de perguntas
- Cronometro decrescente para cada pergunta
- Resposta visual imediata para pergunta escolhida
- Tela de apresentação (SplashScreen)
- Uso de MobX para gerenciamento de estados
- Carregar perguntas ao iniciar App
- Cache de elementos da API
- Tratamento de responsabilidades em MVC
- Refino de MediaQueries para Responsividade
- SplashScreen com animações de fadeIn e fadeOut
- Armazenamento de ranking em localStorage
- Testes unitários
- Uso de Environment Variables para CI/CD (Opcional)
- Imagens aleatórias de API do Unsplash (Opcional)
- Apresentação (SplashScreenPage)
- Principal (HomePage)
- Perguntas(QuizzPage)
- Resultados (ResultPage)
- Histórico de Ranking (RankingPage)
Para clonar e executar esta aplicação, você vai precisar do Git, Android SDK, Flutter e VSCode instalados no seu computador.
Linhas de comando:
# Clone this repository
$ git clone https://github.com/leandrochavesf/flutter-quiz-car.git
# Go into the repository
$ cd flutter-quiz-car
# Install dependencies
$ flutter pub get
# Run the App
$ flutter run
Para facilitar os testes, o APP está consumindo dados JSON via My-Json-Server (Link do JSON)
Para rodar o App consumindo dados via API própria, siga as instruções do projeto da API (Link do repositório)
Atente-se também em atualizar a a const QUESTION_URL
em consts_api.dart
Você também pode conferir alguns insights e outros dados relatados durante o desenvolvimento em Insights.md
Abaixo uma lista dos arquivos mais relevantes do projeto
quiz_car
├─ .github
│ └─ INSIGHTS.md
├─ LICENSE.md
├─ README.md
├─ assets
│ ├─ db.json
│ └─ question.json
├─ fonts
├─ images
├─ lib
│ ├─ interfaces
│ │ └─ question_repository_interface.dart
│ ├─ main.dart
│ ├─ models
│ │ └─ question_model.dart
│ ├─ pages
│ │ ├─ home_page.dart
│ │ ├─ quizz_page.dart
│ │ ├─ result_page.dart
│ │ └─ splash_page.dart
│ ├─ repositories
│ │ └─ question_repository.dart
│ ├─ shared
│ │ └─ consts_api.dart
│ └─ stores
│ ├─ question_store.dart
│ └─ question_store.g.dart
├─ pubspec.yaml
└─ test
└─ widget_test.dart
This project is under the MIT license. See the LICENSE for more information.