Um pequeno projeto React + Vite que exibe um mural de alunos com foto, nome e idade.
Ideal para estudar componentização, props e renderização de listas no React.
O que faz:
- É o componente principal da aplicação.
- Define um array de objetos
alunos, cada um com:id→ identificação únicanome→ nome do alunoidade→ idade do alunofoto→ URL da imagem
- Renderiza o título "Mural da Turma".
- Passa esse array como props para o componente
Mural.
👉 Resumindo: o App centraliza os dados e os envia para o Mural exibir.
O que faz:
- Recebe a prop
alunosdoApp. - Usa
.map()para percorrer o array e renderizar cada aluno. - Para cada aluno, chama o componente
<Aluno />passando:nome={aluno.nome}idade={aluno.idade}foto={aluno.foto}
- Utiliza
key={aluno.id}— boa prática para o React identificar cada item da lista.
👉 Resumindo: o Mural organiza os alunos em uma grade (grid) e delega ao componente Aluno a exibição dos detalhes.
O que faz:
- Recebe as props individuais:
foto,nome,idade. - Renderiza um card com:
- Uma imagem circular (
className="foto") - O nome em destaque (
<h3>) - A idade (
<p>)
- Uma imagem circular (
👉 Resumindo: o Aluno é o componente mais simples, responsável por exibir um único aluno.
O que faz:
.App→ centraliza o conteúdo da página..mural→ usa CSS Grid para exibir até 3 alunos por linha..aluno→ estiliza cada card (sombra leve e bordas arredondadas)..foto→ deixa a imagem circular comborder-radius: 50%.
App.jsx → envia lista de alunos
↓
Mural.jsx → organiza os alunos em grid e chama <Aluno />
↓
Aluno.jsx → exibe cada aluno (foto + nome + idade)
---
## ⚙️ Como Executar o Projeto
```text
🧩 1. Executar localmente com NPM
# Instalar as dependências
npm install
# Iniciar o servidor de desenvolvimento
npm run dev
🐳 2. Executar via Docker
Se preferir rodar em um contêiner:
# Construir a imagem
docker build -t mural .
# Executar o contêiner
docker run -dp 80:80 mural