{"id":21486110,"url":"https://github.com/felipecastrosales/job-timer","last_synced_at":"2025-07-15T14:32:43.679Z","repository":{"id":38038919,"uuid":"499984547","full_name":"felipecastrosales/job-timer","owner":"felipecastrosales","description":"⏱️ Aplicativo Job Timer feito com Flutter. Desenvolvido na 07ª Edição da #DartWeek, de @RodrigoRahman.","archived":false,"fork":false,"pushed_at":"2023-05-01T12:24:09.000Z","size":7143,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-05-01T13:41:59.327Z","etag":null,"topics":["auth","bloc","bloc-pattern","cubit","dart","firebase","firebase-auth","flutter","flutter-apps","flutter-bloc","google","job","jobs","modular","timer","timer-manager","timers"],"latest_commit_sha":null,"homepage":"","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/felipecastrosales.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}},"created_at":"2022-06-05T02:47:34.000Z","updated_at":"2023-01-27T17:15:14.000Z","dependencies_parsed_at":"2022-09-04T07:41:19.432Z","dependency_job_id":null,"html_url":"https://github.com/felipecastrosales/job-timer","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipecastrosales%2Fjob-timer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipecastrosales%2Fjob-timer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipecastrosales%2Fjob-timer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipecastrosales%2Fjob-timer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipecastrosales","download_url":"https://codeload.github.com/felipecastrosales/job-timer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226045761,"owners_count":17565052,"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":["auth","bloc","bloc-pattern","cubit","dart","firebase","firebase-auth","flutter","flutter-apps","flutter-bloc","google","job","jobs","modular","timer","timer-manager","timers"],"created_at":"2024-11-23T13:19:04.611Z","updated_at":"2024-11-23T13:19:06.165Z","avatar_url":"https://github.com/felipecastrosales.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets\\images\\logo.png\" width=\"100\" alt=\"Logo App Filmes\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eJob Timer\u003c/h1\u003e\n\n---\n\n\u003ch2\u003eTópicos 📋\u003c/h2\u003e\n\n   \u003cp\u003e\n\n   - [📖 Sobre](#-sobre)\n   - [📱 Preview](#-preview)\n   - [📦 Assets](#-assets)\n   - [🛠️ Funcionalidades e Tecnologias Estudadas](#%EF%B8%8F-funcionalidades-e-tecnologias-estudadas)\n   - [🤯 Desafios e Aprendizados ao longo do caminho](#-desafios-e-aprendizados-ao-longo-do-caminho)\n   - [🤔 Como usar](#-como-usar)\n   - [💪 Como contribuir](#-como-contribuir)\n   - [📝 Licença](#-licença)\n\n   \u003c/p\u003e\n\n---\n\n\u003ch2\u003e📖 Sobre\u003c/h2\u003e\n\n\u003cp\u003e\n    Esse foi o projeto desenvolvido na Dart Week | 7ª Edição, um evento de lançamento para a \u003ca href=\"http://academiadoflutter.com.br/\"\u003eAcademia do Flutter\u003c/a\u003e, de \u003ca href=\"https://github.com/rodrigorahman\"\u003eRodrigo Rahman\u003c/a\u003e.\u003cbr\u003e\n    Em 5 dias de aulas evolui bastante, colocando meus aprendizados em dias além de ajudar muitos devs na comunidade, o que fez com que eu aprendesse ainda mais. Entender bem cada conceito abordado na aula e poder explicá-lo de forma didática é algo surreal. Sempre gosto de estar estudando e conectando com coisas novas do desenvolvimento mobile, e o evento foi o local certo para estar; pois muitas coisas serão úteis para mim.\u003cbr\u003e\n    Foi mais um evento incrível, que muitas comunidades brasileiras, como sempre, fazem um excelente trabalho, proporcionando a evolução de muitos devs.\u003cbr\u003e\n    Eu estou sempre em busca do próximo nível. 🚀\n\u003c/p\u003e\n\n---\n\n\u003ch2\u003e📱 Preview\u003c/h2\u003e\n\n   \u003cp align=\"center\"\u003e\n      \u003cimg src=\".github/job-timer.gif\" width=\"400\" alt=\"Job Timer Demonstração\"\u003e\n   \u003c/p\u003e\n\n---\n\n\u003ch2\u003e📦 Assets\u003c/h2\u003e\n\n- UI Design criado para o evento: \u003ca href=\"https://www.figma.com/file/eJK6AHqHXEAurdkDmvPdF2/Job-Timer\"\u003e**Job Timer ⏱️**\u003c/a\u003e\n\n---   \n\n\u003ch2\u003e🛠️ Funcionalidades e Tecnologias Estudadas\u003c/h2\u003e\n\n- `Firebase`\n  - Core\n  - Auth | Sign-in\n- `Bloc/Cubit` para Gerenciamento de Estado e implementação do BLoC Pattern\n- Uso do `Modular` para Gerenciamento de Rotas e Injeção de Dependência\n- Themes\n- CustomWidgets \n- `Isar`: database escalável, assíncrono (com suporte até mesmo à múltiplas queries) e multiplataforma (mobiles, web and desktop), além de possuir o Isar Inspector (uma aplicação com vários recursos).\n  - `isar`\n  - `isar_flutter_libs`\n  - `isar_generator`\n- `Equatable` (para simplificar comparações de igualdade - sem `hashCode` e `==`)\n- `Asuka` (para SnackBars)\n- `Validatorless` (para inputs, inspirado no Yup)\n- Muitas outras ferramentas e recursos abordados, com vários aprendizados diferenciados. 🔥\n   \u003c/p\u003e\n\n---\n\n\u003ch2\u003e🤯 Desafios e Aprendizados ao longo do caminho\u003c/h2\u003e\n\n   \u003cp\u003e\n   Nessa edição - com acesso antecipado às aulas, eu consegui lidar e encaixar na rotina para que eu pudesse sempre estar a um passo a frente e conseguisse terminar o projeto de forma mais tranquila. Isso me ajudou bastante a ter ordem na rotina e não faltar com compromissos importantes para mim mesmo e para quem faz parte da minha rotina.\u003cbr\u003e\n   Foi sensacional ter aprendido um pouco mais sobre algumas ferramentas do próprio Flutter, e também dos packages que eu não tinha tanto conhecimento e vivência (como o Isar, Asuka e Modular, que pouco usei), além de vários outros.\u003cbr\u003e\n   Um ponto que me deixou instigado em aprender ainda mais foi com uma issue que possui no Isar, mas que já foi resolvida na pré-versão 3.0.0, para suporte à devices de 32 bits e alguns outros detalhes dessa ferramenta bastante útil, que planejo usar em outros projetos.\u003cbr\u003e\n   Além disso, a riqueza da comunidade e também das qualidades das aulas foram incríveis. Sem dúvidas o que foi a cereja do bolo foi a ajuda que dei na comunidade, pois consegui ajudar muitas pessoas.\u003cbr\u003e\n   \u003c/p\u003e\n\n---\n\n\u003ch2\u003e🤔 Como usar\u003c/h2\u003e\n\n   ```\n   Configure o ambiente de desenvolvimento na sua máquina:\n   https://flutter.dev/docs/get-started/install\n\n   - Clone o repositório:\n   $ git clone https://github.com/felipecastrosales/job-timer job-timer\n\n   - Entre no diretório:\n   $ cd job-timer\n\n   - Instale as dependências:\n   $ flutter pub get\n\n   - Execute:\n   $ flutter run\n   ```\n\n---\n\n\u003ch2\u003e💪 Como contribuir\u003c/h2\u003e\n\n   ```\n   - Fork o projeto \n\n   - Cria uma nova branch com suas mudanças:\n   $ git checkout -b my-feature\n\n   - Salve suas mudanças e faça uma mensagem de commit message sobre suas alterações:\n   $ git commit -m \"feature: My new feature\"\n\n   - Envie suas mudanças:\n   $ git push origin my-feature\n   ```\n\n---\n\n\u003ch2\u003e📝 Licença\u003c/h2\u003e\n\n\u003cp\u003e\n   Esse repositório está sobre a Licença MIT, e você pode vê-la no arquivo \u003ca href=\"https://github.com/felipecastrosales/job-timer/blob/master/LICENSE\"\u003eLICENSE\u003c/a\u003e para mais detalhes. 😉\n\u003c/p\u003e\n\n---\n\n   \u003eEsse projeto foi desenvolvido com ❤️ por **[@Felipe Sales](https://www.linkedin.com/in/felipecastrosales/)**, com o instrutor **[@Rodrigo Rahman](https://br.linkedin.com/in/rodrigo-rahman)**, no evento #DartWeek da **[Academia do Flutter](https://hotmart.com/product/academia-do-flutter/O24924684W)**.\u003cbr\u003e\n   Se isso te ajudou, dê uma ⭐, e contribua, isso irá me ajudar também. 😉\n\n---\n\n   \u003cdiv align=\"center\"\u003e\n\n   [![Linkedin Badge](https://img.shields.io/badge/-Felipe%20Sales-292929?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/felipecastrosales/)](https://www.linkedin.com/in/felipecastrosales/)\n\n   \u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipecastrosales%2Fjob-timer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipecastrosales%2Fjob-timer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipecastrosales%2Fjob-timer/lists"}