{"id":20664025,"url":"https://github.com/flutterando/matchmaker_lol","last_synced_at":"2025-04-19T16:11:07.828Z","repository":{"id":199974559,"uuid":"704206190","full_name":"Flutterando/matchmaker_lol","owner":"Flutterando","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-20T14:31:06.000Z","size":135,"stargazers_count":1,"open_issues_count":10,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-20T23:56:42.572Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/Flutterando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-12T19:02:45.000Z","updated_at":"2024-04-28T18:14:04.000Z","dependencies_parsed_at":"2023-10-14T22:31:33.595Z","dependency_job_id":"49f0ad90-388b-4cb0-91b8-74d968318230","html_url":"https://github.com/Flutterando/matchmaker_lol","commit_stats":null,"previous_names":["flutterando/matchmaker_lol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Fmatchmaker_lol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Fmatchmaker_lol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Fmatchmaker_lol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Fmatchmaker_lol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Flutterando","download_url":"https://codeload.github.com/Flutterando/matchmaker_lol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235247639,"owners_count":18959450,"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-16T19:21:44.433Z","updated_at":"2025-01-25T03:23:23.373Z","avatar_url":"https://github.com/Flutterando.png","language":"Dart","readme":"# matchmaker_lol\n\nPrograma que organiza as partidas de lol visando balancear  as equipes se baseando no nível e na função desejada.\n\n# Mockup\n\nhttps://www.figma.com/file/djieQL73SV06XRvDau6Urw/Matchmaker-LOL-(Community)?type=design\u0026node-id=54495-526\u0026mode=design\u0026t=ixMakmK8dQXEvBPY-0\n\n## Arquitetura\n# Dominio\ndominio ou modulos ou entidades -\u003e Player; Room, Team, Match\n\nCada player deve ter seu nome  e lane selecionada, após selecionado, deve marcar como pronto;\nDeve guardar o id do player e o nome e role nos cookies da pagina, para quando reiniciado a buscar os dados, caso não tenha, crie um novo.\nPlayer{\n\tid;\n\tname;\n\trole;\n\tisReady;\n}\n\nQuando criada deve gerar um ID para que outros players possam acessar a  Room.\nQuando todos os jogadores estão como isReady é realizado a separação dos teams {blue e red} -\u003e Match.\nPara o host deve aparecer o botão de kikar os players da sala.\nRoom{\n\tid;\n\tSet\u003cPlayer\u003e players;\n\thostID;\n}\n\nTeam{\n\tid;\n\tList\u003cPlayer\u003e players;\n}\nO lado dos times sera definido de forma aleatoria, assim como os membros de cada time.\nO lado seria definido através da lista dos times onde  a primeira posição sera blue e a segunda será red.\nMatch{\n\tid;\n\tRoom id;\n\tList\u003cTeam\u003e teams;\n}\n\n----------------------------------------------------------------------------------------------------------------\n# Definições arquiteturais\nConsumo de Apis: Utilizar padrão repository \nOrganização de camadas: Utilizando padrão de inversão de controle.\nGerenciamento de estado:  ValueNotifier com state pattern(https://refactoring.guru/pt-br/design-patterns/state) \nPara localStorege: Usar Services.\nPara conversão de dados: Utilizar adapter.\nPara copia de dados imutaveis: CopyWith/prototype\nPara representação de regra de negocio: Entidade\nPara execução de regra de negocio: Usecases\n\n----------------------------------------------------------------------------------------------------------------\n# Packages\nUUID =https://pub.dev/packages/uuid Para criação de ID's unicos.\nresult_dart = https://pub.dev/packages/result_dart  Para organização de tuplas e programação funcional.\nflutter_modular = https://pub.dev/packages/flutter_modular  Para rotas e inversão de controle.\nfirebase_core \u0026 firebase_storage = https://pub.dev/packages/firebase_core \u0026 https://pub.dev/packages/firebase_storage Para armazenamento de dados.\nshared_preferences=  https://pub.dev/packages/shared_preferences  Para persistencia de dados local.\nmocktail = https://pub.dev/packages/mocktail Para mockagem dos dados de teste.\nflutterando_analysis = https://pub.dev/packages/flutterando_analysis Para lints mais rigorosos.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterando%2Fmatchmaker_lol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflutterando%2Fmatchmaker_lol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterando%2Fmatchmaker_lol/lists"}