O Projeto • Assets • Funcionalidades e Tecnologias Estudadas • Percurso • Como usar •
O Job Timer é um aplicativo de controle de horas dedicadas a um projeto. Este foi um aplicativo construído na semana do Dart Week, um evento proporcionado pela Academia do Flutter
UI Design criado para o evento: **Job Timer**
- Flutter Modular [https://pub.dev/packages/flutter_modular]
- Flutter Modular Bloc Bind [https://pub.dev/packages/modular_bloc_bind]
- Asuka (Modais) [https://pub.dev/packages/asuka]
- Validatorless (Validação de formulários) [https://pub.dev/packages/validatorless]
- FL Chart (Criação de Gráficos) [https://pub.dev/packages/fl_chart]
- Integração com conta do Google (Firebase)
- Firebase Core [https://pub.dev/packages/firebase_core]
- Firebase Auth [https://pub.dev/packages/firebase_auth]
- Google Sign-In [https://pub.dev/packages/google_sign_in]
- Gerar SHA-1 (Comandos terminal/Powershell:):
(1) MacOS/Linux
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
Windows
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
(2) Senha (Password): android - Fluxo de Login e Logout com a conta do Google na aplicação
- Bloc [https://pub.dev/packages/bloc]
- Flutter Bloc (Widgets) [https://pub.dev/packages/flutter_bloc]
- Equatable (Equals) [https://pub.dev/packages/equatable]
- Isar
- Database (Evolução do River / NoSQL) [https://pub.dev/packages/isar]
- Isar Libs (Contém os binários) [https://pub.dev/packages/isar_flutter_libs]
- Isar Generator [https://pub.dev/packages/isar_generator]
- Path Provider (Onde salvar / diretório) [https://pub.dev/packages/path_provider]
- Build Runner (Geração dos códigos) [https://pub.dev/packages/build_runner]
- Tint and Shade Generator (Colors Palette) [https://maketintsandshades.com/]
- Aula 1
- Apresentar o projeto
- Criando o projeto
- Configurando dependências
- Configurando tema
- Adicionando ícones
- Configurando Firebase
- Construir tela de Splash Page
- Configurando módulo de login
- Configurando módulo de home
- Adicionando interceptor do FirebaseAuth
- Adicionando assets de imagens ao projeto
- Construindo tela de login
- Fazer login do usuário no Firebase
- Aula 2
- Fazer login com o Google
- Criando conexão com o banco de dados
- Preparar as Entities
- Construir a primeira parte da tela de HomePage
- Inspector (Windows e MacOS)
- Aula 3
- Construir módulo de cadastro de projeto
- Carregar os projetos
- Apresentar o projeto em um ListTile simples
- Construir componente de apresentação do projeto
- Implementar o filtro de projetos
- Aula 4
- Construir componente de apresentação do projeto
- Implementar a atualização de projetos ao incluir um novo
- Implementar o filtro de projetos
- Implementar botão com loader
- Criar tela de detalhe
- Aula 5
- Implementar tela de detalhe
- Criar tela de nova task
- Implementar tela de nova task
- Atualizar detalhe do projeto com a task nova
Configure o ambiente de desenvolvimento na sua máquina:
https://flutter.dev/docs/get-started/install
- Clone o repositório:
$ git clone https://github.com/alexandrecpedro/job_timer_app
- Entre no diretório:
$ cd job_timer
- Instale as dependências:
$ flutter pub get
- Execute:
$ flutter run
- Execute Build.Runner:
flutter pub run build_runner watch --delete-conflicting-outputs
- Fork o projeto
- Cria uma nova branch com suas mudanças:
$ git checkout -b my-feature
- Salve suas mudanças e faça uma mensagem de commit message sobre suas alterações:
$ git commit -m "feature: My new feature"
- Envie suas mudanças:
$ git push origin my-feature