🚀 Capítulo 19: A Guerra dos Tronos (Tema: Game of Thrones)
NOTE
Este capítulo inicia o projeto final do curso de Full Stack. Reúna os seus exércitos (as tecnologias) e planeje a conquista do Trono de Ferro!
1. 🎯 Objetivo da Aula
Planejar a arquitetura completa de uma aplicação Full Stack, definindo o escopo do projeto, as tabelas do banco de dados e as tecnologias que serão utilizadas antes de começar a escrever o código.
2. 🏢 O Cenário Prático (Seu Desafio)
Na série Game of Thrones, antes de marchar para a guerra, os líderes das grandes famílias nobres se reúnem ao redor de uma mesa de pedra com o mapa do continente esculpido. Eles decidem onde posicionar os navios, quais castelos atacar e como defender as suas terras. Um bom guerreiro sabe que batalhas não são vencidas apenas com força bruta, mas com estratégia e planejamento impecáveis!
Você chegou ao grande desafio final deste curso de Projetos Full Stack!
- Seu objetivo é construir um aplicativo completo de ponta a ponta.
- Neste capítulo, nós não vamos escrever nenhuma linha de código! Nós vamos planejar a arquitetura da nossa aplicação, assim como os reis planejam as suas batalhas. Seu desafio é desenhar o plano de conquista!
🧠 Fundamentos: A Teoria Traduzida
Antes de abrir o VS Code, um desenvolvedor Full Stack profissional responde a perguntas de planejamento:
💡 1. O que o aplicativo vai fazer? (O Escopo)
Defina um projeto simples, mas completo. Sugestão: Um sistema de votação para escolher o próximo rei (parecido com o que planejamos no curso de Figma!).
- O app precisa ter: Uma tela para votar, uma tela para ver o ranking e um backend que salve os votos no banco de dados.
📊 2. Como serão os dados? (A Modelagem)
Desenhe as tabelas que o seu banco de dados vai precisar:
- Tabela
Personagens(ID, Nome, Casa Nobre). - Tabela
Votos(ID, Personagem_ID, Data).
🥞 3. Qual será a Stack? (As Tecnologias)
Reúna o seu exército! Para este projeto final, sugerimos a stack que aprendemos:
- Frontend: React (ou HTML/CSS puro).
- Backend: Node.js com Express.
- Banco de Dados: PostgreSQL (com Prisma) ou MongoDB.
4. 📖 Exemplo Guiado: O Mapa da Batalha
O planejamento de um projeto Full Stack ideal para portfólio de estudante deve caber em uma página:
- Nome do Projeto: App Trono de Ferro.
- Objetivo: Permitir que fãs votem no seu personagem favorito.
- Telas: Home (Boas-vindas), Votação e Ranking.
- Rotas da API:
GET /personagensePOST /votar.
5. 🛠️ Prática Obrigatória: O Seu Plano de Guerra
Preencha o formulário de planejamento abaixo para o projeto que você deseja construir (pode seguir a nossa sugestão ou inventar o seu próprio tema, como uma Pokédex ou um controle de heróis):
- Nome do seu projeto:
- Qual banco de dados você vai usar (SQL ou NoSQL) e por quê?
- Descreva uma rota (URL e Método HTTP) que o seu backend vai precisar ter.
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 19 FS_GuerraDosTronos) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
proj_aplicacoes_full_stack/
├── capitulos/
│ └── capitulo_19_game_of_thrones_p1.md💡 Checkpoint de Lógica
Gaste tempo planejando! Cada hora gasta planejando a arquitetura do software salva cerca de horas de refatoração de código bagunçado no futuro!
10. 🔥 Desafio de Fixação
Tente desenhar o fluxo completo do seu projeto (Frontend → Backend → Banco) em um papel ou ferramenta de desenho como o Excalidraw.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática Obrigatória (Exemplo de resposta esperada):
- Nome: App Bat-Sinal.
- Banco: NoSQL (MongoDB), porque as mensagens de alerta de crimes podem mudar de formato (umas têm fotos, outras apenas texto) e precisamos de flexibilidade.
- Rota:
POST /criar-alerta(Para o Batman enviar um novo alerta para o servidor).