Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asacxyz/erp
Enterprise Resource Planning (ERP)
https://github.com/asacxyz/erp
actions class-diagram clean-code design design-pattern diagram enterprise-resource-planning erp fluxograma github github-actions java spring-boot tdd tests uml unit-test unit-testing yaml
Last synced: 4 days ago
JSON representation
Enterprise Resource Planning (ERP)
- Host: GitHub
- URL: https://github.com/asacxyz/erp
- Owner: asacxyz
- Created: 2023-03-21T01:53:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-22T05:15:23.000Z (over 1 year ago)
- Last Synced: 2024-12-31T02:36:54.920Z (15 days ago)
- Topics: actions, class-diagram, clean-code, design, design-pattern, diagram, enterprise-resource-planning, erp, fluxograma, github, github-actions, java, spring-boot, tdd, tests, uml, unit-test, unit-testing, yaml
- Language: Java
- Homepage: https://github.com/andre-alck/erp
- Size: 2.7 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ERP
## 5W2H
**1. What?**
ERP (Enterprise Resource Planning - Planejamento de Recursos Empresariais) para uma empresa fictícia.
**2. Why?**
Para praticar as seguintes competências:
- Java
- Orientação a Objetos (OOP/POO)
- APIs Rest
- Spring Boot
- Testes unitários
- JUnit
- Maven
- MySQL
- JDBC
- Clean Code
- Git
- GitHub
- Github Actions**3. Who?**
[🙋♂️](https://github.com/andre-alck)
**4. Where?**
API será hospedada no Google App Engine.
**5. When?**
Tempo indefinido, considerando a premissa do projeto: prática de competências.
**6. How?**
Utilizando as competências listadas na seção "2. Why?".
**7. How Much?**
Custo variável, dependendo da tabela de preços atual do Google App Engine para hospedagem da aplicação. Para mais informações, [verificar documentação das cotas](https://cloud.google.com/1ppengine/docs/standard/quotashl=pt-br).
## Diagrama de Classes UML
![](erp.png)
## Diagrama de Entidade e Relacionamento
![](https://raw.githubusercontent.com/andre-alck/erp/main/modelagem.de.dados/der.png)
## Modelagem Funcional
### Participante Externo
Ao **trabalhar**, o sistema deve verificar se as tarefas concluídas do participante externo passam pelas validações, sendo:
1. O status de sua regulamentação é regular;
1. A quantidade de tarefas concluídas deve ser maior do que zero.Caso as validações sejam cumpridas, o sistema deve atribuir a lista de tarefas concluídas à lista de tarefas concluídas do participante externo. Caso contrário, deve lançar exceções respectivas à situação em questão. Para mais detalhamentos, analise o fluxograma abaixo.
![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/externo/trabalhar.png)
### Estagiário
Ao **documentar**, o sistema deve verificar se a documentação passa pelas validações, sendo:
1. Id não é nulo;
1. Id não é vazio;
1. Id não está em branco;
1. O número de páginas é maior do que um.Caso as validações sejam cumpridas, o sistema deve atribuir a documentação à lista de tarefas concluídas do estagiário. Caso contrário, deve lançar exceções respectivas à situação em questão. Para mais detalhamentos, analise o fluxograma abaixo.
![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/estagiario/documentar.png)
### Clt
Ao **participar de reunião**, o sistema deve verificar se sua contribuição passa pelas validações, sendo:
1. A quantidade de perguntas é maior do que uma.
1. A quantidade de respostas é maior do que uma.
1. A pontuação é maior ou igual a cinco.Caso as validações sejam cumpridas, o sistema deve atribuir à promoção à lista de tarefas concluídas do CLT. Caso contrário, deve lançar exceções respectivas à situação em questão. Para mais detalhamentos, analise o fluxograma abaixo.
![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/clt/participardereuniao.png)
### Supervisor de TI
Ao **promover**, o sistema deve verificar se o funcionário passa pelas validações, sendo:
1. O funcionário é um Estagiário de TI.
Caso essa validação seja cumprida, o sistema deve atribuir a promoção à lista de tarefas concluídas do Supervisor de TI. Caso contrário, deve lançar exceções respectivas à situação em questão. Para mais detalhamentos, analise o fluxograma abaixo.
![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/ti/supervisordeti/promover/promover.png)
Ao **demitir**, o sistema deve verificar se o funcionário passa pelas validações, sendo:
1. O funcionário é um Estagiário de TI ou o funcionário é Desenvolvedor.
Caso essa validação seja cumprida, o sistema deve atribuir a demissão à lista de tarefas concluídas do Supervisor de TI. Caso contrário, deve lançar exceções respectivas à situação em questão. Para mais detalhamentos, analise o fluxograma abaixo.
![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/ti/supervisordeti/demitir/demitir.png)
## Design Patterns
- Builders
- Strategy
- Factory## Padrão de Arquitetura de Software
MVC