https://github.com/alexandrecpedro/jobtimerapp
Job Timer is app to control how many hours were dedicated to a project/task @rodrigorahman @academiadoflutter
https://github.com/alexandrecpedro/jobtimerapp
academiadoflutter asuka bloc dart dart-week dartweek equatable firebase firebase-auth firebase-core firebase-database flchart flutter flutter-app flutterbloc fluttermodular isar modular validatorless
Last synced: 4 months ago
JSON representation
Job Timer is app to control how many hours were dedicated to a project/task @rodrigorahman @academiadoflutter
- Host: GitHub
- URL: https://github.com/alexandrecpedro/jobtimerapp
- Owner: alexandrecpedro
- Created: 2022-06-09T16:14:40.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-10T17:17:37.000Z (almost 4 years ago)
- Last Synced: 2025-09-09T02:52:56.494Z (9 months ago)
- Topics: academiadoflutter, asuka, bloc, dart, dart-week, dartweek, equatable, firebase, firebase-auth, firebase-core, firebase-database, flchart, flutter, flutter-app, flutterbloc, fluttermodular, isar, modular, validatorless
- Language: Dart
- Homepage:
- Size: 301 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Job Timer App
| | | | |
|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|
|
|
|
|
|
|
|
|
|
O Projeto •
Assets •
Funcionalidades e Tecnologias Estudadas •
Percurso •
Como usar •
📓 O Projeto
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
🛠️ Funcionalidades e Tecnologias Estudadas
- 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/]
🔎 Percurso
- 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
🧪Como usar
```
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
```
---
Como contribuir
```
- 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
```