Kit dos inscritos no ar até 4 de outubro

R5/Kit

Acesso dos inscritos

O kit do Flutter Experience

A API do álbum, que roda na sua máquina, os assets que o app consome e o design das 10 telas. Prepare tudo antes da primeira aula: quem chega com o ambiente de pé acompanha a construção em vez de assistir à instalação.

  • No ar até 4 de outubro
  • API · assets · design · código
  • Uso pessoal e educacional

R5/Kit/01 · Downloads

Arquivos do evento

A API do álbum para rodar na sua máquina, os assets que o app consome e o arquivo do Figma. Resolva os três antes da primeira aula — na aula a gente constrói, não instala.

  • Backend do projeto

    Disponível

    A WC 2026 API, servidor do álbum em Dart Frog: login com JWT, catálogo das 48 seleções, colagem de figurinhas e resumo do álbum. Roda na sua máquina com SQLite embarcado — sem Docker, sem banco para instalar. Sobe com Swagger em /docs; cada pacote traz o binário do seu sistema e o SHA256SUMS para conferir o download.

    • v1.0.0
    • Dart Frog
    • SQLite embarcado
    • localhost:8080
    Escolha seu sistema

    Na dúvida no Mac: menu Apple → Sobre este Mac. "Chip M1" ou mais novo é arm64; "Processador Intel" é x64.

  • Assets do app

    Disponível

    Imagens, ícones e os padrões gráficos do álbum, já exportados em 1x, 2x e 3x e com os mesmos nomes usados no projeto. Descompacte na raiz do app: a pasta assets/ sai pronta para ser declarada no pubspec.yaml.

    • assets/
    • 1x · 2x · 3x
    • PNG · SVG · JPG
    Pacote único · qualquer sistema Baixar assets zip 1,8 MB
  • Design do app

    Figma

    As 10 telas do álbum com tokens, componentes e as medidas de cada espaçamento. Abra em Dev Mode para copiar cor, tipografia e padding direto do arquivo que a gente segue na construção. "Procurar troca" e "Chat de troca" estão desenhados ali como design do produto — não entram no escopo da semana.

    • 10 telas
    • Tokens e componentes
    • Dev Mode
    Arquivo no Figma Abrir no Figma dev mode

Os pacotes ficam no ar enquanto o evento estiver rodando e saem junto com as aulas, depois de 4 de outubro; o arquivo do Figma segue acessível pelo link. O material é seu para estudar e construir — não para redistribuir ou revender.

R5/Kit/02 · Execução

Subir a API na sua máquina

Uma vez só, em três passos — quatro no macOS, que ainda pede a liberação do Gatekeeper. Com o servidor no ar, a documentação interativa da API responde em http://localhost:8080/docs.

R5/Run/Windows

Windows (PowerShell)

# 1. o download traz outro .zip dentro — descompacte os dois
cd wc_2026_api-1.0.0-windows-x64

# 2. crie o .env e preencha o JWT_SECRET
copy .env.example .env
notepad .env

# 3. suba o servidor
.\bin\server.exe

# o Swagger sobe junto: http://localhost:8080/docs

Na primeira execução o SmartScreen pode avisar que o app é de um editor desconhecido: "Mais informações" e "Executar assim mesmo".

R5/Run/Mac-Linux

macOS e Linux

# 1. o download traz um .tar.gz dentro
tar -xzf wc_2026_api-1.0.0-macos-arm64.tar.gz
cd wc_2026_api-1.0.0-macos-arm64

# 2. crie o .env e preencha o JWT_SECRET
cp .env.example .env

# 3. só no macOS: libere os dois binários do Gatekeeper
xattr -d com.apple.quarantine bin/server
xattr -d com.apple.quarantine lib/libsqlite3.dylib

# 4. suba o servidor
./bin/server

# o Swagger sobe junto: http://localhost:8080/docs

O passo 3 é só para macOS e é obrigatório — veja o aviso abaixo. No Linux, pule do 2 direto para o 4.

O JWT_SECRET é obrigatório: o servidor sobe sem ele, mas devolve 500 na primeira rota autenticada. O banco é criado no primeiro start em ./data/wc_2026.db — apagar esse arquivo zera o álbum e recomeça do cadastro. A especificação também vem em arquivo, em public/openapi.yaml, se você preferir importar no Postman ou no Insomnia.

R5/Kit/03 · Código das aulas

O código de cada aula, direto do Git

Cada aula termina numa tag do repositório do app, e a descrição da aula traz o link dela. Baixe a tag, compare com o que você escreveu e ache a diferença em segundos — em vez de rever o vídeo atrás de uma vírgula.

R5/Git/01

Clone o repositório (uma vez só)

# confira se o Git está instalado
git --version

# clone na mesma pasta onde está o seu projeto
git clone https://github.com/R5-Academy/flutter-experience-worldcup-2026-mobile.git
cd flutter-experience-worldcup-2026-mobile

Clone ao lado do seu projeto, não dentro dele. Os comandos abaixo supõem que o seu app está em ../meu_app — troque pelo nome da sua pasta.

R5/Git/02

Pegue a tag na descrição da aula

# na descrição de cada aula:
Código da aula anterior: …/tree/2_2_o_mapa_do_app_final
Código da aula atual:    …/tree/3_1_cores_tipografia

# a tag é o que vem depois de /tree/
3_1_cores_tipografia

A aula atual é o código do fim da aula — o ponto de chegada. A aula anterior é o ponto de partida: use-a para pegar o código de uma aula que você perdeu e seguir dali.

R5/Git/03

Baixe o código da tag

# traga as tags das aulas liberadas até hoje
git fetch --tags

# o repositório vira o código do fim da aula
git checkout 3_1_cores_tipografia
flutter pub get

O Git avisa "detached HEAD": é normal, você está vendo uma foto do código. Rode o flutter pub get a cada tag nova — as dependências mudam entre aulas.

R5/Git/04

Compare com o seu código

# quais arquivos estão diferentes
git diff --no-index --stat ../meu_app/lib lib

# a diferença linha a linha
git diff --no-index ../meu_app/lib lib

# um arquivo só
git diff --no-index ../meu_app/lib/main.dart lib/main.dart

Linha com - é o que está no seu projeto; com +, o que está na aula. Saia da listagem com q. O --no-index compara duas pastas quaisquer: o seu projeto nem precisa ter Git.

Os comandos são os mesmos no Windows (PowerShell), no macOS e no Linux — o Git aceita / nos caminhos em qualquer sistema. O repositório fica aberto enquanto o evento estiver no ar e fecha depois de 4 de outubro, junto com as aulas.

R5/Kit/04 · Depois do evento

Cinco dias mostram o método. A formação constrói o engenheiro.

O Flutter Experience é um recorte: um app, uma semana. A R5 Flutter Academy é o percurso inteiro — da sintaxe de Dart ao deploy na AWS, no mesmo padrão de arquitetura que você viu aqui, com suporte direto no Discord.

  • Lógica em Dart — raciocínio computacional na própria linguagem, sem passar por outra antes.
  • Dart do básico ao avançado — collections, POO, generics, async/await, Futures, Streams e isolates.
  • Flutter completo — widgets, layout, state management, Firebase, backend em Shelf, testes e deploy.
Conhecer a R5 Flutter Academy →

R5 Flutter Academy — a evolução da Academia do Flutter

Formação Conhecer a R5 Flutter Academy →