Skip to content

O TechBrain Quiz é um Quiz sobre Hardware e Software desenvolvido em em PHP sem o uso de banco de dados é a solução proposta por mim à um desafio proposto por um trabalho inicial da disciplina de Backend do meu curso de ADS.

License

Notifications You must be signed in to change notification settings

ronidomingues/tech-brain-quiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TechBrain Quiz

Sumário

Sobre o Projeto

O TechBrain Quiz é um jogo de perguntas e respostas desenvolvido em PHP, sem banco de dados ou armazenamento externo.
Foi criado como primeiro trabalho da disciplina de Desenvolvimento Backend do curso de ADS.

  • Tema: Hardware e Software
  • Níveis de Dificuldade: Fácil, Médio, Difícil e Aleatório
  • Idiomas: Português e Inglês
  • Objetivo: Demonstrar conhecimento em hardware e software, aprendendo com feedback e explicações das respostas.

Funcionalidades

  • Registro do nome do jogador
  • Escolha de dificuldade e idioma
  • Seleção da porcentagem de perguntas a serem respondidas
  • Sistema de pontuação e vidas (3 vidas)
  • Feedback imediato e explicação em cada resposta
  • Reinício do quiz ao zerar vidas, mantendo progresso de tentativas
  • Interface interativa com partículas e efeitos visuais

Regras do Jogo

  1. O jogador começa com 3 vidas.
  2. O objetivo é acertar o maior número de perguntas possível.
  3. Ao errar, observe a explicação da resposta para aprender.
  4. Quando as vidas se esgotam, o quiz reinicia.
  5. A porcentagem de perguntas escolhida influencia diretamente no número de questões a serem respondidas.

Estrutura do Projeto

tech-brain-quiz/
├── config.php
├── docs
│   ├── img                         # Imagens explicativas do quiz
│   └── proposta_quiz_backend.pdf
├── LICENSE
├── public                          # Pasta que deve ser acessível pelo navegador
│   ├── api
│   │   └── call_quiz_manager.php
│   ├── assets
│   │   ├── img
│   │   ├── scripts
│   │   └── styles
│   ├── index.php
│   └── quiz.php
├── README.md
├── src                             # Pasta protegida, não acessível pelo navegador
│   ├── backend
│   │   └── quiz_manager.php
│   └── data
│       └── questions
│           ├── questions_en_us.php
│           └── questions_pt_br.php
└── tests
    └── debug.php

Estrutura do Array de Questões

Os arrays de questões (questions_pt_br.php e questions_en_us.php) seguem esta estrutura obrigatória:

$questions = [
    'easy' => [ /* perguntas fáceis */
        [
            'question' => 'Pergunta 1',
            'alternatives' => [
                "a" => "Alternativa 1",
                "b" => "Alternativa 2",
                "c" => "Alternativa 3",
            ]
            "answer" => "Resposta correta",
            "explanation" => "Explicação da pergunta 1"
            "emoji" => "Emoji",
        ],
        /* e assim por diante */
    ],
    'medium' => [ /* perguntas médias */
        [
            'question' => 'Pergunta 1',
            'alternatives' => [
                "a" => "Alternativa 1",
                "b" => "Alternativa 2",
                "c" => "Alternativa 3",
            ]
            "answer" => "Resposta correta",
            "explanation" => "Explicação da pergunta 1"
            "emoji" => "Emoji",
        ],
        /* e assim por diante */
    ],
    'hard' => [ /* perguntas difíceis */
        [
            'question' => 'Pergunta 1',
            'alternatives' => [
                "a" => "Alternativa 1",
                "b" => "Alternativa 2",
                "c" => "Alternativa 3",
            ]
            "answer" => "Resposta correta",
            "explanation" => "Explicação da pergunta 1"
            "emoji" => "Emoji",
        ],
        /* e assim por diante */
    ]
];

O array pode ser expandido ou alterado, mas a estrutura deve ser mantida.


Como Usar o Projeto

PHP embutido

git clone https://github.com/ronidomingues/tech-brain-quiz.git
cd tech-brain-quiz
php -S localhost:8000 -t public/
ou
php -S 0.0.0.0:8000 -t public/

Abra o navegador em http://localhost:8000.

Usando Apache

  1. Adicione um VirtualHost apontando para a pasta public:
<VirtualHost *:80>
    ServerName quiz.local
    DocumentRoot "/caminho/para/tech-brain-quiz/public"

    <Directory "/caminho/para/tech-brain-quiz/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  1. Adicione no hosts: 127.0.0.1 quiz.local;
  2. Reinicie Apache: sudo systemctl restart apache2;
  3. Acesse http://quiz.local;

Telas do Quiz

Tela inicial

Tela inicial

Tela de questões

Tela de questões

Tela de acerto

Tela de acerto

Tela de erro

Tela de erro

Tela de reinício da partida

Tela de reinício

Tela final do quiz

Tela final


Contato


Licença

Este projeto é licenciado sob a MIT License. Mais informações


Considerações Finais

O projeto pode ser expandido com novas funcionalidades, melhorias visuais e novos temas de perguntas. Durante o desenvolvimento surgiram várias ideias para futuras implementações as quais ainda não me sinto confortável em implementar.

About

O TechBrain Quiz é um Quiz sobre Hardware e Software desenvolvido em em PHP sem o uso de banco de dados é a solução proposta por mim à um desafio proposto por um trabalho inicial da disciplina de Backend do meu curso de ADS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published