Code Monkey home page Code Monkey logo

ga-alves / rate-my-subject-react-node Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.84 MB

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: MIT License

TypeScript 98.35% HTML 0.87% CSS 0.72% Shell 0.05%
javascript nodejs typescript

rate-my-subject-react-node's Introduction

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

rate-my-subject-react-node's People

Contributors

ga-alves avatar bernborgess avatar thiagomiarelli avatar luisavtoledo avatar bernborges avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.