A Plataforma de Avaliação de Professores e Matérias, desenvolvida como parte da disciplina Métodos de Desenvolvimento de Software (MDS) é um projeto dedicado à comunidade estudantil da Universidade de Brasília (UnB). Nosso objetivo é fornecer informações úteis e relevantes para os alunos, facilitando a escolha de professores e matérias através de avaliações dos professores feitas pelos proprios alunos. A plataforma permitirá avaliações detalhadas, feedback construtivo e transparência na busca por conhecimento.
O projeto é software livre e está sob a licença MIT.
- Busca de Professores e Matérias: Os usuários podem pesquisar por professores e matérias específicas. Filtros como nome do professor, departamento e disciplina ajudam a encontrar informações relevantes.
- Avaliação de Professores: Os alunos podem avaliar professores em critérios como: Dificuldade da matéria Qualidade do ensino Personalidade Disponibilidade para tirar dúvidas Comentários detalhados justificam as avaliações.
- Avaliação de Matérias: Além dos professores, os alunos avaliam as matérias cursadas. Feedback sobre a estrutura do curso, materiais didáticos e relevância é essencial.
- Comentários Públicos e Anônimos: Interação entre estudantes é incentivada com comentários públicos. Opção de anonimato garante liberdade de expressão.
- Filtragem de Avaliações e Comentários: Os usuários podem filtrar por data, relevância e popularidade. Facilita a busca por informações desejadas.
A documentação do projeto está disponivel no nosso Github Pages
- Linguagem de Programação: Javascript, Python, MySQL, HTML e CSS.
- Prototipação: Figma.
- Framework Web: VueJS.
- Framework BackEnd: NodeJS.
- Banco de Dados: Google cloud mySQL storage.
- Tecnologias usadas no back-end: Axios, ExpressJS, Cors, CryptoJS, Dotenv, MySQL2, Pg e Sequelize.
- Tecnologias usadas no front-end: Axios, CoreJS, CryptoJS, Scrollreveal, Babel e Eslint.
- Outras tecnologias: Figma, miro, Helmet, Heroku e Vercel.
Você pode clonar o repositório do projeto com o seguinte comando:
git clone https://github.com/unb-mds/2024-1-squad04.git
Para rodar o projeto, você precisa instalar as dependências globais, que são:
- Python v3.11.6 e Pip v22.0.2 (ou superior)
- Node v20.12.2 e NPM v10.5.0 (ou superior)
- MySQL v3.9.7 (ou superior)
Primeiro, você precisa criar um banco de dados MySQL onde os dados serão armazenados.
Na branch web-scrapping-professores, navegue até o diretório onde o script criaBanco.sql
está localizado e execute o seguinte comando para criar as tabelas necessárias no banco de dados:
mysql -u seu_usuario -p < criarBanco.sql
O valor seu_usuario será o usuário criado para o banco de dados e após rodar o comando, sua senha será solicitada.
Ainda na branch web-scrapping-professores, navegue até o diretório onde o script script-professores.py
está localizado e execute o seguinte comando para gerar o arquivo json com os dados do scraping:
python script-professores.py
Após isso, navegue até o diretório onde o script script-url-fotos.py
está localizado e execute o seguinte comando para gerar o arquivo json com os dados do scraping:
python script-url-fotos.py
Antes de executar o script de preenchimento do banco de dados, você precisará editar as chaves de conexão com o banco de dados no script. Abra o script preencher.py e altere as variáveis de conexão conforme necessário:
host=SEU_HOST,
user=SEU_USER,
password=SUA_SENHA,
database=SUA_BASE,
charset='utf8mb3',
cursorclass=pymysql.cursors.DictCursor
Depois de fazer as alterações, execute o script para preencher o banco de dados:
python preencher.py
Para instalar as dependências do projeto, você pode rodar os seguintes comando:
# Instale as dependências do node
cd .\node-app\
npm install
# Instale as dependências do vue
cd .\vue-app\
npm install
Você também precisará configurar as chaves de conexão com o banco de dados no arquivo index.js do backend. Abra o arquivo index.js e altere as variáveis de conexão conforme necessário:
host=SEU_HOST,
user=SEU_USER,
password=SUA_SENHA,
database=SUA_BASE
Para executar o projeto, você pode rodar o seguinte comando:
# Inicie o node
cd .\node-app\
npm run start
# Inicie o vue
cd .\vue-app\
npm run serve
Para executar os testes unitários da aplicação
cd .\vue-app\
npm run test
# Para ver o code coverage dos testes
npm run coverage
Para executar os testes e2e da aplicação
cd .\vue-app\
npx cypress run
- Para acessar o Story Map e o Activity Flow, clique aqui.
- Para acessar a arquitetura do projeto, clique aqui.
- Para acessar o protótipo do projeto, clique aqui