Skip to content

Group project for the subject Software Engineering . This project showcases the development of a full-stack web application using React for the frontend and Node for the backend. The platform allows users to rate and review different subjects and serves as a resource for others to make informed decisions.

License

Notifications You must be signed in to change notification settings

Ga-Alves/rate-my-subject-react-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TP1_Engenharia_De_Software

Escopo do Sistema

Sistema de Avaliação de Matérias do Ensino Superior

Principais Features

  • Login
  • Cadastro
  • Avaliação das Matérias

Tecnologias


nodejs reactjs sqlite typescript prisma express express

Membros da Equipe

  1. Gabriel Alves Reis
  2. Luisa Vasconcelos de Castro Toledo
  3. Thiago Miarelli
  4. Bernardo Borges

Backlog do produto

✍️ Eu como aluno gostaria de me cadastrar na plataforma utilizando meu email e minha senha.
✍️ Eu como aluno gostaria de fazer login na plataforma utilizando meu email e minha senha.
✍️ Eu como aluno gostaria de visualizar os meus dados de cadastro e estudantis. (iterações futuras)
✍️ Eu como aluno gostaria de visualizar uma lista de matérias disponíveis para avaliação.
✍️ Eu como aluno gostaria de pesquisar uma matéria por nome, professor ou código.
✍️ Eu como aluno gostaria de visualizar detalhadamente avaliações de uma matéria.
✍️Eu como aluno gostaria de avaliar uma matéria e um professor que tive aula.
✍️ Eu como aluno gostaria de visualizar as últimas avaliações que fiz. (iterações futuras)
✍️ Eu como aluno gostaria de buscar uma matéria pela ementa. (iterações futuras)
✍️ Eu como aluno gostaria de ver todos os professores referentes a essa matéria para avaliar sua discência.
✍️ Eu como aluno quero ser capaz de deletar uma avaliação que fiz. (iterações futuras)

Backlog da Sprint

✍️ 01 - Eu como aluno gostaria de me cadastrar na plataforma utilizando meu email e minha senha.

UX

  • Realizar prototipação tela (Thiago Miareli)

Front

  • Realizar visual da tela de cadastro (Thiago Miareli)
  • Realizar conexão com Back-End (Gabriel Alves Reis)

Back

  • Criar entidade ALUNO no banco de dados (Bernardo Borges)
  • Criar endpoint /aluno/signin "Criar Usuario" que recebe os dados de usuário e cria um novo aluno, com email e senha. (Luisa Toledo)

✍️ 02 - Eu como aluno gostaria de fazer login na plataforma utilizando meu email e minha senha.

Front

  • Realizar visual da tela de login (Gabriel Alves Reis)
  • Realizar conexão com Back-End (Thiago Miareli)
  • Modal de erro (Gabriel Alves Reis)

Back

  • Criar endpoint /aluno/login "Logar como aluno" que recebe usuario e senha e autentica se o aluno existe e tem a senha correta. Caso contrário, retorna erro para o front. (Bernardo Borges)
  • Implementar hash da senha e salvar no bd de forma segura. (Luisa Toledo)

✍️ 03 - Eu como aluno gostaria de visualizar os meus dados de cadastro e estudantis. (próxima iteração)

Front

  • Realizar conexão com Back-End, para acesso aos dados do aluno. (Gabriel Alves Reis)
  • Realizar visual da tela. (Thiago Miareli)

Back

  • Criar endpoint GET aluno/${id} "Meus Dados" que retorna os dados do aluno logado. (Bernardo Borges)

✍️ 04 - Eu como aluno gostaria de visualizar uma lista de matérias disponíveis para avaliação.

Front

  • Criar input de texto para filtro. (Thiago Miareli)
  • Criar component Card. (Gabriel Alves Reis)
  • Listar matérias retornadas pela API por meio de cards. (Thiago Miareli)

Back

  • Criar endpoint GET subject?q=${filtro} "Listar Materia" que retorna todas as matérias cadastradas, seguindo o filtro. (Luisa Toledo)

✍️ 05 - Eu como aluno gostaria de pesquisar uma matéria por nome, professor ou código.

Front

  • Realizar a função de filtro para nome da matéria. (Gabriel Alves Reis)
  • Realizar a função de filtro para código da matéria. (Thiago Miareli)
  • Realizar a função de filtro para nome do professor. (Gabriel Alves Reis)

Back

  • Criar endpoint GET subject "Listar Matérias" que retorna todas as matérias do sistema (Bernardo)

✍️ 06 - Eu como aluno gostaria de visualizar detalhadamente avaliações de uma matéria.

Front

  • Mostar informações gerais (estrelas, ementa). (Thiago Miareli)
  • Listar professores da matéria selecionada (Gabriel Alves Reis)
  • Listar avaliações da matéria selecionada. (Thiago Miareli)

Back

  • Criar endpoint GET subject/${id} "Dados da Matéria por ID" que retorna uma matéria específica, com todos seus dados: (Luisa Toledo)
{ id nome ementa codigo }
  • Criar endpoint GET evaluations/${subjectId} "Listar Avaliações dessa matéria" que retorna todas as avaliações já feitas dentro dessa matéria

✍️ 07 - Eu como aluno gostaria de avaliar uma matéria e um professor que tive aula.

Front

  • Criar tela de seleção de matéria a ser avaliada. (Gabriel Alves Reis)
  • Criar tela de avaliação da matéria. (Thiago Miareli)
  • Criar tela de avaliação de professores. (Gabriel Alves Reis)
  • Criar tela de comentários gerais. (Thiago Miareli)
  • Conexão com backend. (Gabriel Alves Reis)

Back

  • Criar o endpoint POST evaluations/create "Criar uma Avaliação" que recebe todos os dados de uma avaliação e os salva no banco de dados (Bernardo)

✍️ 08 - Eu como aluno gostaria de visualizar as últimas avaliações que fiz. (próxima iteração)

Front

  • Criar lista de "minhas avaliações" na tela do aluno (Thiago Miareli)

Back

  • Criar enpoint GET evaluations/last "Lista ultimas avaliações do aluno" que retorna a lista com as últimas avaliações desse aluno. (Luisa Toledo)

✍️ 09 - Eu como aluno gostaria de ver todos os professores referentes a essa matéria para avaliar sua discência.

Front

  • Na tela de avaliação de professores, colocar um select/autocomplete com apenas os professores relacionados à matéria que está sendo avaliada. (Gabriel Alves Reis)

Back

  • Criar endpoint GET teachers/${subjectId} "Listar Professores da Matéria" que retorna a lista com os professores associados a essa matéria. (Bernardo)

✍️ 10 - Eu como aluno quero ser capaz de deletar uma avaliação que fiz. (próxima iteração)

Front

  • Criar funcionalidade de deletar uma avaliação na tela do usuário. Utilizar rota: delete('evaluations/${id}'). (Thiago Miareli)

Back

  • Criar endpoint DELETE evaluations/${id} "Deletar Avaliação" que permite o usuário criador dessa avaliação deletá-la. (Luisa Toledo)

Banco de Dados

Imagem

Rodar o front

  1. Fazer npm install
  2. Rodar cp .env.example .env

About

Group project for the subject Software Engineering . This project showcases the development of a full-stack web application using React for the frontend and Node for the backend. The platform allows users to rate and review different subjects and serves as a resource for others to make informed decisions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages