GithubHelp home page GithubHelp logo

caneto / darkweek9_vakinha_burger Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 5.36 MB

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

License: GNU General Public License v3.0

Kotlin 0.15% Dart 99.85%
dart dio equatable flutter logger bloc

darkweek9_vakinha_burger's Introduction

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

darkweek9_vakinha_burger's People

Contributors

caneto avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.