{"id":22305000,"url":"https://github.com/victorpbilbao/pizzariafinalproject","last_synced_at":"2026-02-01T20:36:07.153Z","repository":{"id":266088068,"uuid":"892284359","full_name":"VictorPBilbao/PizzariaFinalProject","owner":"VictorPBilbao","description":"Uma pizzaria um pouco diferente, vendendo em diversos formatos e cobrando por cm²","archived":false,"fork":false,"pushed_at":"2024-12-02T13:37:32.000Z","size":4371,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T07:07:05.850Z","etag":null,"topics":["java","javafx","oop"],"latest_commit_sha":null,"homepage":"https://github.com/VictorPBilbao/PizzariaFinalProject","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VictorPBilbao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2024-11-21T20:39:18.000Z","updated_at":"2024-12-02T13:31:04.000Z","dependencies_parsed_at":"2024-12-03T02:15:54.871Z","dependency_job_id":null,"html_url":"https://github.com/VictorPBilbao/PizzariaFinalProject","commit_stats":null,"previous_names":["victorpbilbao/pizzariafinalproject"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/VictorPBilbao/PizzariaFinalProject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorPBilbao%2FPizzariaFinalProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorPBilbao%2FPizzariaFinalProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorPBilbao%2FPizzariaFinalProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorPBilbao%2FPizzariaFinalProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VictorPBilbao","download_url":"https://codeload.github.com/VictorPBilbao/PizzariaFinalProject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorPBilbao%2FPizzariaFinalProject/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263091027,"owners_count":23412344,"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":["java","javafx","oop"],"created_at":"2024-12-03T19:09:21.080Z","updated_at":"2026-02-01T20:36:07.109Z","avatar_url":"https://github.com/VictorPBilbao.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍕 Pizzaria 3 Amigos\n\nUm empreendedor resolveu criar uma pizzaria diferente das que existem no mercado. A sua ideia é vender pizza em centímetro quadrado, no lugar das tradicionais pequena, média e grande. Além disso, também resolveu inovar na forma da pizza que pode assumir a forma tradicional circular, um quadrado, ou um triângulo. O preço de cada pizza será definido pela área em centímetros quadrados, cruzado com o tipo da pizza (dependendo dos ingredientes). Os sabores das pizzas estão divididos em Simples, Especial e Premium.\n\n- [🍕 Pizzaria Final Project](#-pizzaria-final-project)\n  - [📋 Features](#-features)\n  - [🛣️ Roadmap](#️-roadmap)\n  - [📊 Diagrama de Classes](#-diagrama-de-classes)\n  - [🚀 Como executar o projeto](#-como-executar-o-projeto)\n  - [📁 Estrutura do Projeto](#-estrutura-do-projeto)\n\n## 📋 Features\n\n1. **Cadastro de Clientes**\n    - Listar, atualizar e excluir clientes.\n    - Filtrar clientes por sobrenome, parte do sobrenome e/ou telefone.\n\n2. **Realização de Pedidos**\n    - Escolha de cliente e itens do pedido.\n    - Escolha da forma e dimensões da pizza.\n    - Cálculo do preço total da venda.\n    - Armazenamento dos pedidos e seus estados.\n\n3. **Atualização de Preços**\n    - Tela para atualizar o preço do centímetro quadrado de cada tipo de pizza.\n\n4. **Cadastro de Sabores**\n    - Tela para cadastrar os sabores das pizzas e relacionar cada sabor ao tipo da pizza.\n\n5. **Gestão de Pedidos**\n    - Visualização e alteração do estado dos pedidos.\n\n6. **Validações e Tratamento de Exceções**\n    - Validações nos campos das telas e tratamento qualificado das exceções.\n\n## 🛣️ Roadmap\n\n- [x] Implementar cadastro de clientes.\n- [x] Implementar realização de pedidos.\n- [x] Implementar cálculo do preço total da venda.\n- [x] Implementar armazenamento dos pedidos e seus estados.\n- [x] Implementar imagens e estilos nas telas.\n- [x] Implementar validações nos campos das telas.\n- [x] Implementar tratamento qualificado das exceções.\n- [x] Implementar atualização de preços.\n- [x] Implementar gestão de pedidos.\n- [x] Melhorar interface do usuário.\n- [ ] Implementar cadastro de sabores.\n- [ ] Adicionar mais testes unitários.\n\n## 📊 Diagrama de Classes\n\n```mermaid\n---\ntitle: Diagrama de Classes da Pizzaria\n---\nclassDiagram\n    class Pizza {\n        \u003c\u003cAbstract\u003e\u003e\n        +List\u003cCategoriasPizza\u003e categorias\n        +List\u003cString\u003e sabores\n        +double preco\n        +double area\n        -double calcularPreco()\n        -double calcularArea()\n    }\n    \n    class PizzaQuadrada {\n        +double lado\n        -double calcularArea()\n    }\n    \n    class PizzaCircular {\n        +double raio\n        -double calcularArea()\n    }\n    \n    class PizzaTriangular {\n        +double lado\n        -double calcularArea()\n    }\n    \n    class CategoriasPizza {\n        \u003c\u003cEnumeration\u003e\u003e\n        NORMAL(double VALOR)\n        ESPECIAL(double VALOR)\n        PREMIUM(double VALOR)\n    }\n    \n    class Cliente {\n        +String nome\n        +String sobrenome\n        +String telefone\n    }\n\n    class Pedido {\n        +int id\n        +Cliente cliente\n        +List\u003cPizza\u003e pizzas\n        +double precoTotal\n        +EstadoPedido estado\n        +double calcularPrecoTotal()\n    }\n\n    class EstadoPedido {\n        \u003c\u003cEnumeration\u003e\u003e\n        ABERTO\n        A_CAMINHO\n        ENTREGUE\n    }\n\n    \n    %% Heranças\n    Pizza \u003c|-- PizzaQuadrada\n    Pizza \u003c|-- PizzaCircular\n    Pizza \u003c|-- PizzaTriangular\n    \n    %% Relacionamentos\n    Cliente \"1\" --\u003e \"0..*\" Pedido : realiza\n    Pedido \"1\" --\u003e \"1..*\" Pizza : contém\n\n    %% Namespaces\n    namespace Pizzas {\n        class Pizza\n        class PizzaQuadrada\n        class PizzaCircular\n        class PizzaTriangular\n        class CategoriasPizza\n    }\n\n    namespace Pedidos {\n        class Pedido\n        class EstadoPedido\n    }\n\n    namespace Clientes {\n        class Cliente\n    }\n```\n\n## 🚀 Como executar o projeto\n\n1. Clone o repositório.\n\n```bash\t\ngit clone https://github.com/seuusuario/PizzariaFinalProject.git\ncd PizzariaFinalProject\n```\n\n2. Construa o projeto usando Maven.\n\n```bash\nmvn clean install\n```\n\n3. Execute o projeto.\n\n```bash\njava -jar target/pizzaria-final-project-0.0.1-SNAPSHOT.jar\n```\n\n## 📁 Estrutura do Projeto\n\n```\nPizzariaFinalProject/\n└── src/\n    ├── main/\n    │   ├── java/\n    │   │   ├── com/\n    │   │   │   └── br/\n    │   │   │       └── pizzaria/\n    │   │   │           ├── cliente/          # Pacote contendo classes relacionadas aos clientes\n    │   │   │           ├── pedido/           # Pacote contendo classes relacionadas aos pedidos\n    │   │   │           ├── pizza/            # Pacote contendo classes relacionadas às pizzas\n    │   │   │           └── App.java          # Classe principal para execução da aplicação\n    │   │   └── module-info.java              # Arquivo de configuração do módulo Java\n    │   └── resources/\n    │       ├── com/\n    │       │   └── br/\n    │       │       └── pizzaria              # Recursos estáticos da aplicação\n    │       └── MANIFEST.MF                   # Arquivo de manifesto do projeto\n    ├── pom.xml                               # Arquivo de configuração do Maven\n    └── README.md                             # Este arquivo de documentação\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorpbilbao%2Fpizzariafinalproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictorpbilbao%2Fpizzariafinalproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorpbilbao%2Fpizzariafinalproject/lists"}