O Sua Grade UnB é um projeto da matéria Métodos de Desenvolvimento de Software, a qual tem como objetivo auxiliar os alunos da Universidade de Brasília a montarem suas grades horárias de maneira fácil e intuitiva.
Com apenas alguns cliques, o aluno poderá montar sua grade horária de acordo com as matérias que deseja cursar. Além disso, o sistema auxiliará o aluno ao resolver os conflitos de horários entre as matérias escolhidas, retornando as melhores opções de horários de acordo com suas preferências.
O projeto é software livre e está sob a licença MIT.
Nome | GitHub |
---|---|
Arthur Ribeiro e Sousa | @artrsousa1 |
Caio Falcão Habibe Costa | @CaioHabibe |
Caio Felipe Rocha Rodrigues | @caio-felipee |
Gabriel Henrique Castelo Costa | @GabrielCastelo-31 |
Henrique Camelo Quenino | @henriquecq |
Mateus Vieira Rocha da Silva | @mateusvrs |
Você pode clonar o repositório do projeto com o seguinte comando:
git clone https://github.com/unb-mds/2023-2-SuaGradeUnB.git
Para rodar o projeto, você precisa instalar as dependências globais, que são:
Para configurar o ambiente, você pode rodar o seguinte script:
make config
Para instalar as dependências do projeto, você pode rodar os seguintes comando:
# Crie um ambiente virtual Python
python3 -m venv api/env
# Ative o ambiente virtual
source api/env/bin/activate
# Instale os pacotes do Python e Node
make install
Para executar o projeto, você pode rodar o seguinte comando:
docker compose up
# Se você quiser rodar em segundo plano
docker compose up -d
# Se alterações foram feitas no Dockerfile ou no docker-compose.yml
docker compose up --build
# Se for necessário deletar os volumes
docker compose down -v
Para que o login com o Google funcione, é necessário trocar o your_client_id
no arquivo web/.env.local
pelo Client ID do projeto no Google Cloud.
http://localhost:3000
como Origens JavaScript autorizadas e URIs de redirecionamento autorizadas.web/.env.local
no lugar de your_client_id
.Após isto:
Adicionando serviços:
A obtenção dos dados das disciplinas é feita através de um web scraping no site da Universidade de Brasília e, por isso, é necessário atualizar o banco de dados com certa frequência. As requisições ainda são feitas de forma manual. Para realizar a atualização, rode o seguinte comando:
# Atualiza para o período atual e o próximo
make updatedb-all
# Comando equivalente
docker exec django-api python3 ./manage.py updatedb -a
Serviço | URL |
---|---|
Frontend | http://localhost:3000 |
Backend | http://localhost:8000 |
Migration é um recurso do Django que permite que você altere o modelo de dados do seu projeto. Portanto, sempre que você alterar o modelo de dados, você deve criar uma nova migration.
Para criar possíveis novas migrations, você pode rodar o seguinte comando:
# Crie as migrations
make makemigrations
# Execute as migrations
make migrate
A documentação do projeto pode ser encontrada clicando aqui.