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 months ago
JSON representation
Enterprise Resource Planning (ERP)
- Host: GitHub
- URL: https://github.com/asacxyz/erp
- Owner: asacxyz
- Created: 2023-03-21T01:53:58.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-22T05:15:23.000Z (almost 2 years ago)
- Last Synced: 2025-01-11T07:39:33.957Z (5 months 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

## Diagrama de Entidade e Relacionamento

## 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.

### 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.

### 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.

### 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.

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.

## Design Patterns
- Builders
- Strategy
- Factory## Padrão de Arquitetura de Software
MVC