{"id":21734872,"url":"https://github.com/danieldantasdev/one-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","last_synced_at":"2025-03-21T00:19:38.783Z","repository":{"id":197792082,"uuid":"699098604","full_name":"danieldantasdev/one-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","owner":"danieldantasdev","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-05T11:59:52.000Z","size":5218,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T20:43:06.842Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/danieldantasdev.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}},"created_at":"2023-10-01T22:50:13.000Z","updated_at":"2023-10-01T22:50:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcbcd476-fa73-48a8-86ad-f30e87a99838","html_url":"https://github.com/danieldantasdev/one-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","commit_stats":null,"previous_names":["danieldantasdev/one-piece_api-restful_case-study_dotnet-7.0.2_csharp-11"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danieldantasdev","download_url":"https://codeload.github.com/danieldantasdev/one-piece_api-restful_case-study_dotnet-7.0.2_csharp-11/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244712272,"owners_count":20497473,"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":[],"created_at":"2024-11-26T05:11:01.278Z","updated_at":"2025-03-21T00:19:38.758Z","avatar_url":"https://github.com/danieldantasdev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Problema de domínio?\n\nNum mundo de piratas e marinheiros, deseja-se desenvolver um sistema para gerir tripulações de piratas e marinheiros.\n\u003cbr\u003e\n\u003cbr\u003e\nCada `Tripulação` pirata é liderada por um `Capitão`, o líder supremo e responsável pelas decisões finais.\nAlém do `Capitão`, uma `Tripulação` pode ser composta por vários `Membros`. \nCada `Tripulação` pode ter vários `Barcos` ou `Navios`, assim como pode ter somente uma `Bandeira`.\nCada `Membro` pode ter várias `Habilidades especiais`, podendo ser por `Haki` ou `Akuma No Mi`.\n\nCada `Membro` possui as seguintes características:\n- Nome\n- Apelido Pirata\n- Função (ex: navegante, espadachim, cozinheiro, médico)\n- Habilidades especiais (pode ter várias)\n- Data de entrada na tripulação\n\nCada `Tripulações` também possuem características importantes:\n- Nome\n- Símbolo da Tripulação (uma bandeira pirata)\n- Saque total acumulado (quantidade de tesouros, ouro, etc.)\n- Número de Membros na tripulação\n- Lista de Membros pertencentes à tripulação\n\nCada Membro da tripulação pode possuir um ou mais Tesouros que foram saqueados em aventuras anteriores. Cada Tesouro possui as seguintes características:\n- Nome do Tesouro\n- Tipo do Tesouro (ouro, joias, artefatos, etc.)\n- Valor estimado do Tesouro\n\nInstância mínima:\n- Pelo menos uma tripulação liderada por um Capitão.\n- Pelo menos três Membros na tripulação.\n- Cada Membro possui pelo menos uma habilidade especial.\n- Pelo menos dois Tesouros saqueados pela tripulação.\n- Uma Rota Planejada com pelo menos duas Etapas.\n- Pelo menos um Decreto Pirata emitido pelo Capitão.\n\n**Contexto:**\n\nO mundo de \"One Piece\" é repleto de piratas que viajam pelos mares em busca de tesouros, aventuras e fama. \nEnquanto isso, a Marinha é responsável por manter a ordem e capturar piratas que desafiam as leis.\n\n**Requisitos:**\n\n1. Existem várias Tripulações de Piratas no sistema, cada uma liderada por um Capitão. Cada Tripulação possui um nome e um Jolly Roger (bandeira pirata).\n\n2. Os Piratas, membros das Tripulações, têm nomes, habilidades especiais e cargos a bordo do navio (por exemplo, Navegador, Cozinheiro, Médico).\n\n3. Os Tesouros são acumulados pelas Tripulações à medida que realizam saques. Cada Tesouro possui um nome, valor e descrição.\n\n4. As Ilhas são locais que as Tripulações podem visitar. Cada Ilha tem um nome, uma descrição e pode conter Tesouros.\n\n5. A Marinha é responsável por rastrear as atividades das Tripulações de Piratas. Cada Marinheiro tem um nome e um nível de autoridade.\n\n6. Quando uma Tripulação de Piratas visita uma Ilha, eles podem encontrar Tesouros e enfrentar Marinheiros.\n\n## Relações:\n\n- Um `Ser` pode ser de uma `Raça`;\n- Um `Ser` pode ter 0 ou mais `Sonhos`;\n- Um `Ser` pode ter 0 ou mais `Apelidos`;\n- Um `Ser` pode ter 0 ou mais `Habilidades`;\n- Um `Marinheiro` participar de 0 ou mais `Bases`;\n- A `Marinha` pode monitorar várias `Tripulacoes`;\n- Uma `Base` pode explorar 0 ou mais `Ilhas`;\n- Uma `Ilha` pode ter 0 ou mais `Tesouros`;\n- Uma `Tripulacao` pode explorar várias `Ilhas`;\n- Uma `Tripulacao` pode saquear vários `Tesouros`;\n- Uma `Tripulacao` pode ter 1 ou mais `Barcos`;\n- Uma `Tripulacao` só pode ter 1 `Bandeira`;\n- Uma `Tripulacao` pode ter 1 ou mais `Membros`;\n- Um `Pirata` pode ter 0 ou mais `Recompensas`;\n\n**Cenários de Uso:**\n\n- Os Piratas adicionam Tesouros ao saquear Ilhas.\n\n- As Tripulações visitam diferentes Ilhas em busca de Tesouros e enfrentam Marinheiros da Marinha.\n\n- A Marinha registra as atividades das Tripulações e tenta capturá-las.\n\n- As Tripulações competem para acumular o maior valor em Tesouros e se tornar a Tripulação mais famosa dos mares.\n\nEste é um exemplo simplificado de um sistema baseado no mundo de \"One Piece\". Claro, você pode expandir e refinar essas classes de domínio e cenários de uso de acordo com os requisitos específicos do seu projeto. Além disso, você pode criar diagramas de classe e objetos com base nessas classes para ajudar na implementação do sistema.\n\n\n## Diagrama de Classe\n\n![Diagrama de Classe](documentation/class_diagram.jpg)\n\n## Diagrama de Objetos\n\n![Diagrama de Objetos](documentation/object_diagram.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieldantasdev%2Fone-piece_api-restful_case-study_dotnet-7.0.2_csharp-11/lists"}