{"id":24117393,"url":"https://github.com/asacxyz/erp","last_synced_at":"2026-04-10T15:04:44.350Z","repository":{"id":155782139,"uuid":"616745821","full_name":"asacxyz/erp","owner":"asacxyz","description":"Enterprise Resource Planning (ERP)","archived":false,"fork":false,"pushed_at":"2023-06-22T05:15:23.000Z","size":2836,"stargazers_count":2,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T07:39:33.957Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://github.com/andre-alck/erp","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asacxyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-21T01:53:58.000Z","updated_at":"2023-09-07T16:04:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd54b930-d865-4143-b7ef-33392d34d3ed","html_url":"https://github.com/asacxyz/erp","commit_stats":null,"previous_names":["asacxyz/erp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asacxyz%2Ferp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asacxyz%2Ferp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asacxyz%2Ferp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asacxyz%2Ferp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asacxyz","download_url":"https://codeload.github.com/asacxyz/erp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241164908,"owners_count":19920667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-01-11T07:39:36.143Z","updated_at":"2025-09-20T02:34:17.045Z","avatar_url":"https://github.com/asacxyz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ERP\n\n## 5W2H\n\n**1. What?**\n\nERP (Enterprise Resource Planning - Planejamento de Recursos Empresariais) para uma empresa fictícia.\n\n**2. Why?**\n\nPara praticar as seguintes competências:\n\n-   Java\n-   Orientação a Objetos (OOP/POO)\n-   APIs Rest\n-   Spring Boot\n-   Testes unitários\n-   JUnit\n-   Maven\n-   MySQL\n-   JDBC\n-   Clean Code\n-   Git\n-   GitHub\n-   Github Actions\n\n**3. Who?**\n\n[🙋‍♂️](https://github.com/andre-alck)\n\n**4. Where?**\n\nAPI será hospedada no Google App Engine.\n\n**5. When?**\n\nTempo indefinido, considerando a premissa do projeto: prática de competências.\n\n**6. How?**\n\nUtilizando as competências listadas na seção \"2. Why?\".\n\n**7. How Much?**\n\nCusto 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).\n\n## Diagrama de Classes UML\n\n![](erp.png)\n\n## Diagrama de Entidade e Relacionamento\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/modelagem.de.dados/der.png)\n\n## Modelagem Funcional\n\n### Participante Externo\n\nAo **trabalhar**, o sistema deve verificar se as tarefas concluídas do participante externo passam pelas validações, sendo:\n\n1.  O status de sua regulamentação é regular;\n1.  A quantidade de tarefas concluídas deve ser maior do que zero.\n\nCaso 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.\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/externo/trabalhar.png)\n\n### Estagiário\n\nAo **documentar**, o sistema deve verificar se a documentação passa pelas validações, sendo:\n\n1. Id não é nulo;\n1. Id não é vazio;\n1. Id não está em branco;\n1. O número de páginas é maior do que um.\n\nCaso 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.\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/estagiario/documentar.png)\n\n### Clt\n\nAo **participar de reunião**, o sistema deve verificar se sua contribuição passa pelas validações, sendo:\n\n1. A quantidade de perguntas é maior do que uma.\n1. A quantidade de respostas é maior do que uma.\n1. A pontuação é maior ou igual a cinco.\n\nCaso 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.\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/clt/participardereuniao.png)\n\n### Supervisor de TI\n\nAo **promover**, o sistema deve verificar se o funcionário passa pelas validações, sendo:\n\n1. O funcionário é um Estagiário de TI.\n\nCaso 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.\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/ti/supervisordeti/promover/promover.png)\n\nAo **demitir**, o sistema deve verificar se o funcionário passa pelas validações, sendo:\n\n1. O funcionário é um Estagiário de TI ou o funcionário é Desenvolvedor.\n\nCaso 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.\n\n![](https://raw.githubusercontent.com/andre-alck/erp/main/regras.de.negocio/participante/interno/funcionario/ti/supervisordeti/demitir/demitir.png)\n\n## Design Patterns\n\n-   Builders\n-   Strategy\n-   Factory\n\n## Padrão de Arquitetura de Software\n\nMVC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasacxyz%2Ferp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasacxyz%2Ferp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasacxyz%2Ferp/lists"}