{"id":23120621,"url":"https://github.com/tupizz/flutter_clean_code","last_synced_at":"2025-08-17T01:06:10.764Z","repository":{"id":100373632,"uuid":"236094034","full_name":"tupizz/flutter_clean_code","owner":"tupizz","description":"Clean code study + TDD practices in Flutter","archived":false,"fork":false,"pushed_at":"2020-01-28T01:10:52.000Z","size":151,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T03:15:50.228Z","etag":null,"topics":["clean","code","dart","flutter","tdd","testing","unit"],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/tupizz.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":"2020-01-24T22:26:29.000Z","updated_at":"2020-04-05T05:58:10.000Z","dependencies_parsed_at":"2023-03-07T21:00:25.779Z","dependency_job_id":null,"html_url":"https://github.com/tupizz/flutter_clean_code","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tupizz/flutter_clean_code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tupizz%2Fflutter_clean_code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tupizz%2Fflutter_clean_code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tupizz%2Fflutter_clean_code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tupizz%2Fflutter_clean_code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tupizz","download_url":"https://codeload.github.com/tupizz/flutter_clean_code/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tupizz%2Fflutter_clean_code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270791807,"owners_count":24645843,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["clean","code","dart","flutter","tdd","testing","unit"],"created_at":"2024-12-17T06:11:47.255Z","updated_at":"2025-08-17T01:06:10.736Z","avatar_url":"https://github.com/tupizz.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clean architecture\n\n\n- As linhas horizontais representam o fluxo de dependência, ou seja, um círculo mais ao interior não pode depender de um círculo exterior a ele. Nesse caso temos: \n  - Entidades não dependem de ninguém e armazenam as informações de negócio.  (**Camada com as regras de negócio e chamada aos dados**) (**Camada data**)\n  - Use Cases dependem das entidades para realizar o fluxo de negócio (**Camada com as regras de negócio do nivel de aplicação**) (**Camada domain**)\n  - Por fim, temos a camada de apresentação com os controllers e a própria view em si. (**Interface adapters**)\n\n![Clean architecture guide](./CleanArchitecture.jpg)\n\n---\n\n# Clean Architecture \u0026 Flutter\n\n- A comunidade do Reso coder disponibilizou uma proposta de arquitetura limpa que se encaixa no mundo do flutter/dart.\n\n![Clean-Architecture-Flutter-Diagram](./Clean-Architecture-Flutter-Diagram.png)\n\n---\n\n# Explanation \u0026 Project Organization\n\n- Cada \"feature\" do aplicativo, por exemplo pegar algum dado \"trivia\" de um número, será dividio em 3 camadas (presentation, domain e data) \n\n- Mais informações: https://resocoder.com/2019/08/27/flutter-tdd-clean-architecture-course-1-explanation-project-structure/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftupizz%2Fflutter_clean_code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftupizz%2Fflutter_clean_code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftupizz%2Fflutter_clean_code/lists"}