Evaluando propuestas

Backend Python

Publicado el 17 Noviembre, 2021 en Programación y Tecnología

Sobre este proyecto

Abierto

Nesse desafio iremos avaliar suas habilidades em:

Python
Django
Django REST Framework
Pytest
Docker
Você irá desenvolver a API de uma aplicação para a criação de um quiz de perguntas e respostas!

A aplicação deverá prover o registro e autenticação de dois tipos de usuários:

Admin
Player
Cada quiz é composto por:

10 perguntas com 3 respostas onde apenas 1 é correta.
Cada resposta correta acumula a 1 ponto.
Cada resposta errada perde 1 ponto.
A menor pontuação possível é 0.
Possui uma categoria.
Ao iniciar o jogo:

O player deve escolher uma categoria válida e receber um quiz com perguntas aleatórias referentes a categoria escolhida.

Ao finalizar o jogo:

O player deve receber a contabilização dos seus pontos juntamente com a sua posição atual no ranking global. Não há limitação de quantos quizzes o player pode responder.
O ranking global:

É a contabilização dos pontos acumulados por cada player.

Ranking geral considera todas as categorias.
Ranking por categoria agrupa por categorias.
Permissões:

Todos os endpoints devem estar protegidos por autenticação.

Usuários do tipo Admin tem permissão para criar perguntas e respostas para os quizzes.
Usuários do tipo Player tem permissão para jogar e consultar o ranking.
Requisitos
O projeto precisa estar configurado para rodar em um ambiente macOS ou Ubuntu (preferencialmente como container Docker).

Deve anexar ao seu projeto uma coleção do postman com todos os endpoints criados e exemplos de utilização.
Para executar seu código devemos executar apenas os seguintes comandos:

git clone $seu-fork
cd $seu-fork
comando para instalar dependências
comando para executar a aplicação
Critério de avaliação
Organização do código: Separação de módulos, view e model
Clareza: O README explica de forma resumida qual é o problema e como pode rodar a aplicação?
Assertividade: A aplicação está fazendo o que é esperado? Se tem algo faltando, o README explica o porquê?
Legibilidade do código (incluindo comentários)
Segurança: Existe alguma vulnerabilidade clara?
Cobertura de testes (Não esperamos cobertura completa mas é importante garantir o fluxo principal)
Histórico de commits (estrutura e qualidade)
UX: A API é intuitiva?
Escolhas técnicas: A escolha das bibliotecas, banco de dados, arquitetura, etc, é a melhor escolha para a aplicação?

Categoría Programación y Tecnología
Subcategoría Otros
Tamaño del proyecto Pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)

Plazo de Entrega: No definido

Habilidades necesarias