Infelizmente, o projeto foi descontinuado e não foi concluído, o que significa que não é possível realizar uma simulação completa do mesmo. Agradecemos a todos os envolvidos pelo tempo dedicado. É importante ressaltar que a ideia principal do projeto era aprender um pouco mais sobre Go, e que, se tivesse sido concluído, teria sido útil para os alunos do curso de Ciência da Computação da UnB, especialmente na disciplina de APC (Algoritmos e Programação de Computadores).
DragonT é uma plataforma que centraliza o acesso à materiais do curso. Fornece relatórios automáticos do progresso de cada aluno individualmente e da turma como um todo.
O objetivo desse software será para facilitar o trabalho do professor no acompanhamento de cada aluno, tendo relatório automático do progresso da turma, e também permitindo que você tenha uma noção do desenvolvimento da turma, pra ver se aquele aluno merece o famoso 0,1 no final do semestre. Também irá servir o conteúdo teórico que atualmente está neste link.
Login individual para o aluno
Dashboard com progresso da turma e métricas do curso
Relatório individual de progresso do aluno
Integração com Code Forces (Uri para os exercícios extras)
Relatórios por semestre
Possível fórum de discussão alunos - monitores para cada assunto da matéria (talvez)
Na raiz do projeto, execute os seguintes comandos para executar o projeto no modo de produção
docker-compose up --build
Na raiz do projeto, execute os seguintes comandos para executar o projeto no modo desenvolvedor
docker-compose up -d local
go build
./apc-api serve --port 8080 \
--mongo-host localhost \
--mongo-port 27017 \
--jwt-key SUPER_SECRET \
--codeforces-key f3d968eea83ad8d5f21cad0365edcc200439c6f0 \
--codeforces-secret b30c206b689d5ba004534c6780aa7be8e234a7f3 \
--log-level debug
Modelagem do banco
Login e senha
Integração com Online Judges
Dash board individual
Processar dados do PJudge
Análise de dados para gerar dash boards
Dash board da turma
Estudar a linguagem (familiarizar)
Pesquisar possíveis tecnologias (Frameworks tudo mais)
Modelagem do banco
Design das interfaces (esboço)
Implementar testes das classes de BD
Implementar BD e classes
Fazer telas de login/senha
Analisar possíveis judges (CodeForces é certeza)
Integrar as APIs de online Judges externos
Processamento automático do resultado de provas do PJudge
Integrar no sistema
Neste ponto já temos um sistema funcional para os alunos
Revisão da segurança do projeto
Teste Alpha
Depoly do projeto
Testes Beta
Fim do primeiro semestre
Revisão do conteúdo / Questões (Pedido anteriormente)
Refatoração da API
Implementação servidor de autenticação
Finalização CRUD alunos e monitores
Implementação envio de provas, trabalhos e exercícios extras (Exercícios de arquivos)
Deploy aplicação para acompanhamento
Análise da segurança
Estudo sobre deploy oficial da aplicação
Versão 100% funcional
.
.
possível dilatação do tempo de projeto + novas ideias
Copyright (c) 2019 DraGonT
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.