Repositório contendo o código do projeto da disciplina de Métodos de Desenvolvimento de Software. O projeto consiste em um juíz online para programação competitiva.
Um juiz online representa uma plataforma essencial em competições de programação, desempenhando o papel crucial de avaliar e classificar as soluções submetidas pelos participantes. Além de ser uma ferramenta valiosa para competições, também serve como um ambiente propício para a exploração e aprendizado de novas linguagens de programação. Nessa plataforma, os participantes enfrentam desafios por meio de questões específicas, e ao submeterem seus códigos, essas submissões são sujeitas a limites rigorosos de tempo e memória, adicionando uma dimensão adicional de desafio e eficiência à avaliação.
Nossa motivação é desenvolver um juiz online que adira estritamente aos princípios do software livre.
Você pode olhar um showcase do nosso projeto através desses links:
Recomendamos o uso de distribuições baseadas em Debian como ambiente de desenvolvimento do projeto. No Windows, recomendamos o uso do WSL.
Você pode instalar o projeto com os seguintes comandos:
# Clonando o repositório do projeto:
$ git clone https://github.com/unb-mds/2023-2-Squad06.git
# Entrando na pasta do projeto:
$ cd 2023-2-Squad06
Tendo feito isso, instale as dependências do projeto com o Poetry:
$ poetry install
# Caso você precise das dependências de documentação, use:
$ poetry install --with docs
Crie o arquivo de ambiente usando o script do próprio projeto:
$ poetry run ./bin/create-env
Por fim, rode o projeto com o Docker:
$ docker compose up
# Para rodar em segundo plano, use:
$ docker compose up -d
Para rodar as migrações do banco de dados, você precisará criar um container temporário que executará as migrações. Faça isso com o seguinte comando:
$ docker compose run --rm django python manage.py migrate
Para fechar o servidor do Django, use o seguinte comando:
$ docker compose down
# Caso você queira remover os volumes do Docker, use:
$ docker compose down -v
# Isto removerá os volumes do Docker, o que significa que os dados do banco de
# dados serão perdidos.
Em caso de problemas com a instalação, verifique a documentação.
Caio Alexandre | João Farias | Gabriel Moura | Luiza Maluf |
Letícia Hladczuk | Gabriel Fernando |