- Aplicação CRM (Customer Relantionship Management), responsável por uma loja locadora de veículos.
- Essa aplicação é a evolução de um projeto feito na faculdade -> https://github.com/vitorhmnunes/rental-car-CRM
- Feita em python, a aplicação está estruturada com a arquitetura MVC e foi totalmente orientada a objetos.
- Possui interface para interação com o cliente, feita com a biblioteca Custom TKinter, perpetuação dos dados por meio do banco de dados MySQL e as interações por meio dessas duas partes feitas na pasta controllers e constructors.
- Nessa aplicação é possível cadastras Clientes, Veículos e Aluguéis (interação entre clientes e veículos), alterá-los e excluí-los.
-
Uso da biblioteca Custom TKinter.
-
O funcionamento das janelas consiste em um frame principal, Root, em que todas as demais janelas estarão sobrepostas.
Base Frame
- Como foi dito, o funcionamento das janelas consiste em um frame principal (Root) em que todas as demais janelas estarão sobrepostas.
- Todavia, a sobreposição só pode acontecer de uma janela por vez. Assim, na transição entre uma janela e outra, se faz necessário que se exclua a primeira janela sobreposta, para que a nova janela seja sobreposta. (OBS.: Não se exclui o Root)
- Então, esse é o motivo da existência do frame "Base Frame", ele é o frame principal que se sobrepõe ao Root, onde todos os Widgets das demais janelas estarão inseridos.
- Ao trocar de uma janela para outra, o base frame com os widgets atuais é excluído e outro base frame é gerado com os widgets da nova janela.
Right Frame
- O Right Frame é o frame utilizado sobre o Base Frame, e ocupa a porção direita do Base Frame.
- Ele serve para que o menu das janelas Client, Vehicle e Rent, que fica na posição esquerda, não precise ser excluído. Assim, ao trocar de janelas, somente a porção direita do Base Frame, o Right Frame, é excluído e a porção esquerda do Base Frame (que contém o menu), se mantém.
Upper Frame
- Tem a mesma funcionalidade do Base Frame.
- Ocupa a parte superior do Root, e tem um menu inserido nele, onde se navega entre as janelas Client, Vehicle e Rent.
- Assim ao transicionar entre uma janela e outra, o menu do Upper Frame se mantém e somente a parte de baixo, Base Frame, é excluído e recriado.
- São os botões presentens no Upper Frame referentes ao menu para navegação entre as janelas Client, Vehicle e Rent.
- São os botões presentes na porção esquerda do Base Frame, serve para navegação entre as opções CRUD de cada janela (Client, Vehicle e Rent)
- Botão que permite voltar para a janela inicial, Start Window
- São os widgets básicos das janelas (Read, Update e Delete), de cada objeto (Client, Vehicle e Rent).
- É a janela de alerta para confirmação de exclusão de qualquer objeto.
- É a janela inicial da aplicação.
- Nela é possível pesquisar por algum cliente, ou aluguel.
- É a pasta referente as janelas da seção Client.
- Possui as jenelas CRUD refentes a Client.
- É a pasta referente as janelas da seção Vehicle.
- Possui as jenelas CRUD refentes a Vehicle.
- É a pasta referente as janelas da seção Rent.
- Possui as jenelas CRUD refentes a Rent.
- São os construtores das views.
- Eles que inicializam os views objects e conectam as views aos controllers
- Parte de tratamento e estruturação de dados.
- Possui as entidades/objetos Client, Vehicle e Rent.
- Faz a conexão com o banco de dados e realiza as operações CRUD
- Os controllers são responsáveis pela criação dos objetos utilizando as entities do models, pela validação dos dados dos objetos com os validators e pelas queries utilizando crud operations.
