Skip to content

unb-mds/2024-1-squad04

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT GitHub issues GitHub contributors GitHub stars Hit Counter


Python version Node version npm version MySQL version

Projeto de Avaliação de professores e matérias

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.

Funcionalidades

  • 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.

Documentação

A documentação do projeto está disponivel no nosso Github Pages

Tecnologias Utilizadas

  • 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.

Clonar o repositório

Você pode clonar o repositório do projeto com o seguinte comando:

git clone https://github.com/unb-mds/2024-1-squad04.git

Pré-requisitos

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)

Configuração do banco de dados

1. Criar o Banco de Dados MySQL

Primeiro, você precisa criar um banco de dados MySQL onde os dados serão armazenados.

2. Executar o Script de Criação do Banco

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.

3. Executar o Script Python para Web Scraping

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

4. Configurar e Executar o Script de Preenchimento do Banco

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

Dependências do projeto

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

Conexão com o banco de dados

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

Execução

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

Execução de testes front-end

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

Extra

Story Map e Activity Flow

  • Para acessar o Story Map e o Activity Flow, clique aqui.

Arquitetura

  • Para acessar a arquitetura do projeto, clique aqui.

Protótipo

  • Para acessar o protótipo do projeto, clique aqui

Desenvolvedores