An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


Job Timer App




| | | | |
|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|
|Login Page | Home Page|Register a new project|Set new project details|
|Register a new task|Finished projects | Projects in progress|


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



📦 Assets

UI Design criado para o evento: **Job Timer**



🛠️ 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)

    1. Firebase Core [https://pub.dev/packages/firebase_core]

    2. Firebase Auth [https://pub.dev/packages/firebase_auth]

    3. Google Sign-In [https://pub.dev/packages/google_sign_in]

    4. 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

    5. Fluxo de Login e Logout com a conta do Google na aplicação





  • Bloc [https://pub.dev/packages/bloc]

    1. Flutter Bloc (Widgets) [https://pub.dev/packages/flutter_bloc]

    2. Equatable (Equals) [https://pub.dev/packages/equatable]





  • Isar

    1. Database (Evolução do River / NoSQL) [https://pub.dev/packages/isar]

    2. Isar Libs (Contém os binários) [https://pub.dev/packages/isar_flutter_libs]

    3. Isar Generator [https://pub.dev/packages/isar_generator]

    4. 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


    1. Apresentar o projeto

    2. Criando o projeto

    3. Configurando dependências

    4. Configurando tema

    5. Adicionando ícones

    6. Configurando Firebase

    7. Construir tela de Splash Page

    8. Configurando módulo de login

    9. Configurando módulo de home

    10. Adicionando interceptor do FirebaseAuth

    11. Adicionando assets de imagens ao projeto

    12. Construindo tela de login

    13. Fazer login do usuário no Firebase




  • Aula 2


    1. Fazer login com o Google

    2. Criando conexão com o banco de dados

    3. Preparar as Entities

    4. Construir a primeira parte da tela de HomePage

    5. Inspector (Windows e MacOS)




  • Aula 3


    1. Construir módulo de cadastro de projeto

    2. Carregar os projetos

    3. Apresentar o projeto em um ListTile simples

    4. Construir componente de apresentação do projeto

    5. Implementar o filtro de projetos




  • Aula 4


    1. Construir componente de apresentação do projeto

    2. Implementar a atualização de projetos ao incluir um novo

    3. Implementar o filtro de projetos

    4. Implementar botão com loader

    5. Criar tela de detalhe




  • Aula 5


    1. Implementar tela de detalhe

    2. Criar tela de nova task

    3. Implementar tela de nova task

    4. 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
```