Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wesleyp846/clean-architecture-system
Sistema de pagamento completo em Java e Clean Architecture
https://github.com/wesleyp846/clean-architecture-system
clean-architecture clean-code git java maven solid spring-boot
Last synced: about 1 month ago
JSON representation
Sistema de pagamento completo em Java e Clean Architecture
- Host: GitHub
- URL: https://github.com/wesleyp846/clean-architecture-system
- Owner: wesleyp846
- License: mit
- Created: 2024-08-24T00:06:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-27T11:54:31.000Z (5 months ago)
- Last Synced: 2024-12-01T19:08:05.762Z (about 1 month ago)
- Topics: clean-architecture, clean-code, git, java, maven, solid, spring-boot
- Language: Java
- Homepage: https://www.linkedin.com/in/wesleyp846
- Size: 21.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clean-Architecture-System
## Abordagem por modulos
1. Projeto foi pensando em uma estrutura de módulos, pois o mesmo segue mais a risca o princípio da inverção de dependencias, que o modelo em pacotes. Em pacotes uma classe pode mais facilmente ter acesso aos metos de outra que no modelo em odulos.1. Assim o modulo infraestructure encherga todos os modulos e depende deles, sequido por.
2. a. modulo apllicatiom encherga e depende de usecase e core
3. use case so encherga e depende de core
4. core não encherga nemuhm outro e nem depende de nenhum outro modulo
### Modulo Core
criado um pacote core/domain onde ficaram as classes puramente em Java que representam nosas entidades de dominio,
o que representa o négocio mesmo que ele fosse feito em papel.Ex. na classe TaxNumber, está toda a lógica - inclusive matemática - em java puro, para a verificação se um CPF u CNPJ é válido.
A classe Wallet dentro de core/domain também carrega consigo regras de negócio, como Keepshoppers não podem tranferir valores para Usuarios(um vendedor não transfere dinheiro para um comprador).
em TransactionPin tambem foi feita a validação se a senha contem mais que 8 digitos
### Modulo Use CasesNesse módulo criaremos as interfaces dos casos de uso, sempre em codigo java puro, as implementações ficaram a cargo de outros modulos
* Foram feitos 9 interfaces para casos de uso no pacote useCase do modulo usecase