Skip to content

Aplicação ToDo feita em python, com objetivo de aprender metodologias como ONION Layer, SOLID e Clean Code.

License

Notifications You must be signed in to change notification settings

thalesuds/ToDoPython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToDoPython

ToDo: Uma aplicação de lista de coisas a fazer utilizando python, com o intuito de explorar tecnologias e padrões de projeto. O projeto é um exemplo, um estudo de caso, para utilização de arquitetura de camadas (Onion Architecture), especificamente no padrão de 3 camadas. A camada externa, de apresentação, utiliza PySimpleGUI, enquanto as outras camadas não utilizam nenhum framework. O banco de dados foi simulado em memoria.

Presentation Layer (PySimpleGUI) -> Service Layer (RN) -> Data Access Layer (Banco em Memoria)

Deste modo criou-se entidades, formadas por uma classe de tarefas e outra de progresso. Como o intuíto deste código é apenas aplicar as metodologias de arquitetura de Onion Layer, príncipios Solid e Clean Code, não foi utilizado um banco de dados em SQL, mas sim, um em memória.

Assim, criou-se uma classe DataBase, para que fosse registradas as nossas tarefas e progressos. Para fazer a criação das entidades, foram utilizadas factories, aqui também com o objetivo de aprendizado de Padrão de Design Factory.

Para realizar a leitura e passar as informações das tarefas e dos progressos para serem salvas no banco, foram utilizadas classes de Serviço, uma para tarefas, sendo outra para progresso.

Uma vez que a camada de Apresentação estava concluída, ficou completa a estruturação a arquitetura Onion, onde o fluxo de informação dentro do software se dava pela seguinte forma:

image

Como o objetivo aqui era o aprendizado das metodologias descritas acima, não foi dado grande ênfase no stack de back-end.

E assim, ficou a interface para as tarefas.

image

Veja, é possível que o usário salve, delete e adicione progresso as tarefas, sendo que a janela de progressos ficou assim: image

Referências:

About

Aplicação ToDo feita em python, com objetivo de aprender metodologias como ONION Layer, SOLID e Clean Code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages