Skip to content

Credosvaldo/LPS_LAB3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LABORATÓRIO 03 - Sistema de Moeda Estudantil

O Sistema de Moeda Estudantil visa estimular o mérito dos alunos por meio de uma moeda virtual distribuída pelos professores, que podem recompensá-los por bom comportamento e participação em aula. Alunos, professores e empresas parceiras devem se cadastrar no sistema, sendo que os alunos poderão usar suas moedas para trocar por vantagens como descontos em produtos e serviços oferecidos pelas empresas. Professores recebem um saldo de 1.000 moedas a cada semestre para distribuir, e tanto alunos quanto professores podem consultar seus saldos e transações. O sistema conta com notificações por e-mail para o recebimento de moedas e resgate de vantagens, além de gerar cupons e códigos para validar trocas. O acesso ao sistema exige autenticação por login e senha, garantindo segurança nas operações.

Alunos integrantes da equipe

  • Pedro Henrique Pires Rodrigues
  • Pedro Negri Leão Lambert
  • Vinicius Rezende Arantes de Araujo Moreira

Professores responsáveis

  • João Paulo Carneiro Aramuni

Diagrama de Caso de Uso

Diagrama de Caso de Uso

Diagrama de Caso de Classes

Diagrama de Caso de Classes

Diagrama de Caso de Componentes

Diagrama de Caso de Componentes

Diagrama de Comunicação

Diagrama de Comunicação

Histórias de Usuário

User Story Descrição
US01 - Usuário - Login e autenticação Como usuário, eu quero realizar login no sistema para acessar minhas funcionalidades específicas de acordo com o meu perfil (Aluno, Empresa ou Professor).
US02 - Aluno - Trocar moedas por vantagens Como aluno, eu quero trocar minhas moedas por vantagens disponíveis para poder usufruir de benefícios oferecidos pelas empresas parceiras.
US03 - Aluno - Enviar notificação de troca Como aluno, eu quero ser notificado via e-mail toda vez que realizar uma troca de moedas por uma vantagem para acompanhar minhas transações.
US04 - Aluno - Cadastro no sistema Como aluno, eu quero me cadastrar no sistema informando meus dados pessoais e acadêmicos para poder participar do programa de reconhecimento.
US05 - Aluno - Consultar extrato Como aluno, eu quero consultar meu extrato para visualizar meu saldo de moedas e as transações realizadas no sistema.
US06 - Aluno - Receber moedas do professor Como aluno, eu quero receber moedas do professor como reconhecimento para poder utilizar no sistema.
US07 - Aluno - Receber notificação no e-mail Como aluno, eu quero ser notificado via e-mail sempre que receber moedas de um professor para ficar ciente do recebimento.
US08 - Empresa - Cadastro no sistema Como empresa, eu quero me cadastrar no sistema para poder oferecer vantagens e participar do programa de reconhecimento dos alunos.
US09 - Empresa - Cadastrar vantagem Como empresa, eu quero cadastrar vantagens no sistema para que os alunos possam trocá-las por moedas, detalhando cada uma com descrição e foto.
US10 - Professor - Enviar moeda Como professor, eu quero enviar moedas para um aluno como forma de reconhecimento para incentivá-lo a continuar seu bom comportamento ou desempenho.
US11 - Professor - Receber moedas semestralmente Como professor, eu quero receber 1.000 moedas semestralmente para poder distribuir aos alunos ao longo do semestre de acordo com os critérios definidos.
US12 - Professor - Consultar extrato Como professor, eu quero consultar meu extrato de moedas para visualizar o saldo disponível e as moedas já distribuídas para os alunos.

Tecnologias Utilizadas

  • Java SpringBoot: Utilizado para construir a aplicação backend, fornecendo uma estrutura robusta e escalável.
  • Swagger: Utilizado para documentar e testar as APIs desenvolvidas. http://localhost:8080/swagger-ui/index.html
  • React: Utilizado para construir a interface do usuário, proporcionando uma experiência interativa e dinâmica.
  • TypeScript (TS): Utilizado junto com React para adicionar tipagem estática, melhorando a qualidade do código.
  • Mockito: Utilizado para criar testes unitários no backend, garantindo a confiabilidade do código.
  • JPA (Java Persistence API): Utilizado para gerenciar a persistência de dados no banco de dados.
  • JWT (JSON Web Token): Utilizado para autenticação e autorização segura dos usuários.
  • Redux: Utilizado para gerenciar o estado global da aplicação React, facilitando a manutenção e escalabilidade.

Estratégia de Acesso ao Banco de Dados

Utilizamos o Spring Data JPA para implementar a estratégia de acesso ao banco de dados, aproveitando o mapeamento objeto-relacional (ORM) para gerenciar entidades e persistência de dados de forma eficiente. Através do JPA, as entidades do sistema são mapeadas para tabelas no banco de dados relacional, permitindo a manipulação de dados com operações de alto nível, como save, find, e delete, sem a necessidade de escrever SQL manualmente.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •