Projetos hands-on para consolidar o aprendizado do 3° Módulo
Este repositório contém todos os projetos práticos do flutter-projects da trilha Dart Learning Hub.
📚 Para a teoria e explicações: Curriculum
Cada projeto aqui é desenhado para:
- ✅ Aplicar conceitos específicos do módulo
- ✅ Aumentar progressivamente em complexidade
- ✅ Fornecer experiência prática real
- ✅ Incluir testes automatizados para validação
| Projeto | Descrição | Conceitos | Duração | Status |
|---|---|---|---|---|
| project-01-name | Descrição breve | conceito1, conceito2 | 2-3h | 🟡 |
| project-02-name | Descrição breve | conceito3, conceito4 | 3-4h | 🔴 |
| Projeto | Descrição | Conceitos | Duração | Status |
|---|---|---|---|---|
| project-03-name | Descrição breve | conceito5, conceito6 | 4-6h | 🔴 |
| Projeto | Descrição | Conceitos | Duração | Status |
|---|---|---|---|---|
| project-04-name | Descrição breve | conceito7, conceito8 | 8-10h | 🔴 |
Legenda: ✅ Disponível | 🟡 Em desenvolvimento | 🔴 Planejado
- Dart SDK instalado (instruções)
- VS Code ou sua IDE preferida
- Ter concluído as lições teóricas do Módulo X
-
Clone o repositório
git clone https://github.com/dart-learning-hub/flutter-projects.git cd flutter-projects -
Escolha um projeto
cd project-01-name -
Leia o README do projeto
- Cada projeto tem instruções específicas
- Entenda o problema antes de começar
-
Comece pelo starter code
cd starter dart pub get -
Complete o desafio
- Implemente as funcionalidades solicitadas
- Execute os testes frequentemente
dart test -
Compare com a solução
- Somente após tentar por conta própria
- Analise diferenças de abordagem
cd ../solution
project-name/
├── README.md # Descrição, objetivos e instruções
├── starter/ # 🚀 Código inicial para você começar
│ ├── bin/
│ ├── lib/
│ ├── test/
│ ├── pubspec.yaml
│ └── README.md
├── solution/ # ✅ Solução completa (veja só depois!)
│ ├── bin/
│ ├── lib/
│ ├── test/
│ ├── pubspec.yaml
│ └── README.md
└── assets/ # Recursos adicionais (se necessário)
├── images/
└── data/
- Não pule projetos: cada um ensina algo específico
- Tente primeiro, veja depois: resista à tentação de olhar a solução imediatamente
- Use os testes: eles guiam você para a solução correta
- Refatore seu código: primeira versão funcionando ≠ melhor versão
- Compare abordagens: sua solução vs. solução oficial
✅ Sim:
- Após ter tentado genuinamente por 30+ minutos
- Quando completamente travado em um conceito específico
- Para comparar após ter sua própria solução funcionando
❌ Não:
- Como primeiro passo
- Sem tentar implementar primeiro
- Para copiar e colar diretamente
Cada projeto inclui testes automatizados.
# No diretório do projeto
cd project-name/starter
# Instalar dependências
dart pub get
# Executar todos os testes
dart test
# Executar testes específicos
dart test test/calculator_test.dart
# Executar com coverage
dart test --coverage=coverage
genhtml coverage/lcov.info -o coverage/htmlQuer adicionar um projeto ou melhorar um existente?
- Fork este repositório
- Crie uma branch (
git checkout -b feature/novo-projeto) - Siga a estrutura padrão de projetos
- Inclua starter code + solution + testes
- Abra um Pull Request
Veja CONTRIBUTING.md para detalhes.
- 📖 Leia a teoria no curriculum antes de começar
- 🐢 Não tenha pressa, qualidade > velocidade
- 🙋 Peça ajuda nas Discussions
- 🚀 Desafio extra: implemente features além do solicitado
- 🧪 Aumente a cobertura de testes
- 📝 Documente seu código com dartdoc
- 🎨 Refatore usando padrões de design
Encontrou um bug ou erro no código?
- Verifique se já existe uma issue aberta
- Se não, crie uma nova issue
- Para dúvidas gerais, use Discussions
Este projeto está sob a licença MIT. Veja LICENSE para detalhes.
Compartilhe sua conclusão deste módulo!
# Depois de completar todos os projetos
echo "Completei o [Nome do Módulo] do Dart Learning Hub! 🎉" \
| gh issue comment ISSUE_NUMBER --body-file -⭐ Se estes projetos te ajudaram, dê uma estrela no repositório!
Feito com ❤️ pela comunidade Dart Learning Hub