Skip to content

Projeto desenvolvido na Dart Week | 9ª Edição, um evento de lançamento para a Academia do Flutter (ADF), do Rodrigo Rahman.

License

Notifications You must be signed in to change notification settings

caneto/darkweek9_vakinha_burger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo App Vakinha Burger

Vakinha Burger


Tópicos 📋


📖 Sobre

Projeto desenvolvido na Dart Week | 9ª Edição, um evento de lançamento para a Academia do Flutter (ADF), do Rodrigo Rahman.

Nesse tempo de Pré-Acesso que obtive por ser um aluno da ADF (desde Outubro/2022), consegui entender com mais facilidade certos conceitos que ainda estavam confusos para mim, como a parte do BLoC.


📦 Assets


🛠️ Funcionalidades e Tecnologias Estudadas

  • Consulta da API usando o package Dio

  • BLoC como Gerenciamento de Estado

  • Fluxo de Login e Logout com a aplicação

  • Persistência de dados com o SharedPreferences

  • Pattern Matching com match

  • Extensions

  • Slivers

  • RefreshToken (módulo extra)

  • Providers

  • Mixins

  • Singleton

  • Teste de BLoC (A Fazer)

  • Telas:

    • Splash (tela inicial do app para transição)
    • Home (tela principal do app, lista todos os produtos disponíveis e que serve de fluxo inicial para as demais telas descritas abaixo)
    • Login (onde possui o fluxo de login)
    • Register (onde possui o fluxo de cadastro)
    • ProductDetail (detalhe da página do produto, onde temos mais componentes descritivos a respeito do produto)
    • Order (onde podemos escolher a forma de pagamento e finalizar nosso pedido)
  • Principais packages utilizados.

    • Bloc - 8.11
    • flutter_bloc - 8.1.2
    • provider - 6.0.5
    • dio - 4.0.6
    • equatable - 2.0.5
    • auto_size_text - 3.0.0
    • brasil_fields - 1.12.0

    entre outros


🤯 Desafios e Aprendizados ao longo do caminho

Como esse foi um "remake" de um Dart Week que já ocorreu (Vakinha Burger 6ª Edição com GetX), obtive um maior aproveitamento de código. Posso dizer com clareza que aprendi muito com o uso de um package para pattern matching, o match. O BLoC combinado com esse package e o ensinamento do Rodrigo Rahman, fica extremamente mais simples e divertido de enteder e desenvolver.

Espero estar sempre aprendendo novas tecnologias com o Rahman e a comunidade incrivel de Flutter!


🤔 Como usar

É necessário ter o Flutter instalado. Para configurar o ambiente de desenvolvimento na sua máquina:
https://flutter.dev/docs/get-started/install

O aplicativo consome os dados do backend desenvolvido pela comunidade ADF chamado json_rest_server:
https://pub.dev/packages/json_rest_server

- Clone o repositório:
$ git clone https://github.com/caneto/darkweek9_vakinha_burger dw9_vakinhar_burger_bloc

- Entre no diretório:
$ cd dw9_vakinhar_burger_bloc

- Instale as dependências:
$ flutter pub get

- Instale o json_rest_server
$ dart pub global activate json_rest_server

- Crie um diretório do backend utilizando o json_rest_server
$ json_rest_server create .\backend

- Entre no diretório:
$ cd backend

- Para inicializá-lo, execute o comando:
$ jrs run

- Em outro terminal, no diretório raiz do projeto, execute:
$ flutter run

💪 Como contribuir

- Gosto bastante de seguir a seguinte Style Guide de Commits 😊:
https://udacity.github.io/git-styleguide/

- Dê um fork no 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 "feat: My new feature"

- Envie suas mudanças:
$ git push origin my-feature

📝 Licença

Esse repositório está sobre a Licença GNU General Public License v3.0, e você pode vê-la no arquivo LICENSE para mais detalhes. 😉


Esse projeto foi desenvolvido com ❤️ por @Carlos Alberto Pinto, com o instrutor @Rodrigo Rahman, no evento #DartWeek da [Academia do Flutter].
Se isso te ajudou, dê uma ⭐, e contribua, isso irá me ajudar também 😉


Linkedin Badge

About

Projeto desenvolvido na Dart Week | 9ª Edição, um evento de lançamento para a Academia do Flutter (ADF), do Rodrigo Rahman.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published