Giter Club home page Giter Club logo

backend-ger-professores's Introduction

Gerenciamento de Professores e Sobrecarga de Horário.

Nome do Projeto: backend-ger-professores
Descrição: Um projeto voltado para a parte da lógica e do tratamento das regras de negócios. O principal objetivo é a construção de um sistema único de controle de professores em suas grades horárias de suas escolas/faculdades/universidades, onde, o coordenador do curso poderá validar a carga horário do docente de acordo com as regras passadas pela instituição de ensino.

Tecnologias Usadas

  • Linguagem: Java.
  • IDE: Visual Studio Code.
  • Ferramentas: Spring Web, Spring Data JPA, Spring MariaDB, Spring Security, Spring Validation, Lombok, Devtools, ModelMapper, JJWT-api e Vaadin.

Detalhamento do Projeto

Este projeto em Java foi desenvolvido seguindo as melhores práticas de programação e arquitetura, com ênfase na modularidade e reutilização de código. Abaixo, estão destacados os principais tópicos abordados durante a produção do sistema:

1. Arquitetura no Padrão de Boas Práticas:

  • Separação de responsabilidades entre camadas, como controle, serviço e acesso a dados.

2. Sistema de Login e Senha:

  • Implementação de um sistema robusto de autenticação de usuários.

3. Autenticação JWT:

  • Utilização de JSON Web Tokens (JWT) para autenticação de usuários.
  • Geração, validação e renovação de tokens para garantir a segurança do sistema.

4. Roles de Permissão de Usuário:

  • Definição de diferentes papéis (roles) para usuários, como professor, gestor e coordenador.
  • Controle de acesso baseado nas permissões atribuídas a cada papel.

5. Paginação, Filtros, Responses e Requests:

  • Implementação de mecanismos de paginação para facilitar a navegação pelos dados.
  • Adoção de filtros para personalizar consultas e melhorar a eficiência.
  • Estruturação de responses e requests padronizados para facilitar a integração com clientes.

6. Validação de Dados:

  • Validação rigorosa de dados de entrada para prevenir erros e garantir a integridade do sistema.
  • Utilização de anotações de validação e customizações para garantir a consistência dos dados.

7. Exceptions Personalizadas:

  • Implementação de exceções personalizadas para lidar com situações específicas do domínio.
  • Tratamento adequado de erros, proporcionando mensagens claras e informativas.

8. Swagger Implementado:

  • Integração do Swagger para documentação automática da API.
  • Facilitação da compreensão e teste da API por desenvolvedores e usuários.

9. Lógicas para CRUD e Tratamento dos Dados:

  • Desenvolvimento de lógicas robustas para as operações CRUD (Create, Read, Update, Delete).
  • Implementação de estratégias eficientes para lidar com sobreposição de horários na grade curricular.

Extras

Link de acesso ao Swagger do projeto: http://localhost:8080/swagger-ui/index.html#/

Autores

backend-ger-professores's People

Contributors

mckz33 avatar vtr363 avatar mtcorreia avatar

Watchers

 avatar

Forkers

mtcorreia

backend-ger-professores's Issues

Criar a lógica de carga horária

Carga Disciplina = 2
INTEGRAL = 20h máxima
HORISTA = 2h por ( pago por disciplina escolhida, porém, deve definir a carga horaria disponível no cadastro )
PARCIAL = ???

criar service
enviar disciplina para o professor
filtrar disciplina do professor
retornar displina atualizada

Criar Validação das classes Trimestre, Curso, Disciplina

Criar validação das classes que falta;

  • Criar validação no modelo Trimestre

  • Criar validação no modelo Curso

  • Criar validação no modelo Disciplina

  • Criar validação no Request Trimestre

  • Criar validação no Request Curso

  • Criar validação no Request Disciplina

  • Implementar @Valid no @PostMapping e @PutMapping de cada classe

Atualizar Código Para Salvar Com Carga E Carga Negativa

  • substituir a verificação de cargar excedida do professor para permitir que seja salvo mesmo com carga negativa
  • salvar a data com a alocação do professor na disciplina
  • implementar endpoint no curso para alocar disciplina ao curso

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.