Aplicação web desenvolvida em Next.js para visualizar eventos de tecnologia. O projeto demonstra conceitos modernos do Next.js como Server Components, Client Components e renderização híbrida.
A aplicação oferece as seguintes funcionalidades:
- Listagem de eventos: Visualização de eventos em cards com imagem, nome, data e tema
- Server Components: Busca de dados no servidor para melhor performance
- Client Components: Interatividade com funcionalidade de curtir eventos
- Interface responsiva: Design moderno com Tailwind CSS
- Otimização de imagens: Uso do componente Image do Next.js
As principais tecnologias e bibliotecas utilizadas no projeto:
Next.js 15.5.2
: Framework React com renderização híbridaReact 19.1.0
: Biblioteca para construção da interfaceTailwind CSS 4
: Framework CSS utilitário para estilizaçãoJSON Server
: API mock para desenvolvimentoBiome
: Ferramenta moderna para linting e formatação de códigoTurbopack
: Build tool ultra-rápido do Next.js
- EventsList: Componente do servidor que busca dados da API
- Renderização no servidor para melhor SEO e performance inicial
- Uso de
fetch
comcache: 'no-store'
para dados sempre atualizados
- EventCard: Componente do cliente com estado para interatividade
- Funcionalidade de curtir eventos com estado local
- Uso da diretiva
"use client"
para habilitar hooks do React
- Componente
Image
do Next.js para otimização automática de imagens - Estilização responsiva com Tailwind CSS
- Estrutura de projeto organizada em componentes reutilizáveis
Você pode acessar o código fonte do projeto neste repositório ou fazer o download/clone para sua máquina local.
Após baixar o projeto, siga os passos abaixo:
- Node.js (versão 18 ou superior)
- pnpm (gerenciador de pacotes)
- Clone o repositório (se ainda não fez):
git clone <url-do-repositorio>
cd 4874-tecboard-nextjs
- Instale as dependências:
pnpm install
- Execute o servidor JSON (API mock):
pnpm run json-server
- Em outro terminal, execute a aplicação:
pnpm run dev
- Acesse a aplicação:
Abra seu navegador e vá para
http://localhost:3000
pnpm run dev
- Inicia o servidor de desenvolvimento com Turbopackpnpm run build
- Gera a build de produçãopnpm run start
- Inicia o servidor de produçãopnpm run lint
- Executa o linting do código com Biomepnpm run format
- Formata o código com Biomepnpm run json-server
- Inicia o JSON Server na porta 3001
O projeto utiliza JSON Server para simular uma API REST. Os dados dos eventos ficam armazenados no arquivo db.json
e a API roda na porta 3001.
Endpoints disponíveis:
GET /events
- Lista todos os eventos
Estrutura dos dados:
{
"events": [
{
"id": "1",
"name": "Workshop React",
"theme": "Front-end",
"date": "2025-05-20",
"image": "https://placehold.co/236x282"
}
]
}
Este projeto foi desenvolvido como parte do curso da Alura sobre Next.js, abordando conceitos modernos de desenvolvimento frontend como:
- Server Components e Client Components
- Renderização híbrida (SSR/CSR)
- Otimização de performance com Next.js
- Design responsivo com Tailwind CSS
- Boas práticas de desenvolvimento moderno
Gostou do projeto e quer conhecer mais? Você pode acessar o curso da Alura que desenvolve este projeto!
src/
app/
favicon.ico
globals.css # Estilos globais com Tailwind
layout.js # Layout raiz da aplicação
page.js # Página inicial
components/
EventCard.js # Client Component - Card de evento
EventsList.js # Server Component - Lista de eventos
O projeto segue a estrutura do App Router do Next.js 13+, separando claramente Server Components e Client Components para otimizar a performance e experiência do usuário.