O Projeto Blog Pessoal é um Frontend desenvolvido com o Vite e o React para consumir a API de um Blog Pessoal, desenvolvida em NestJS. A aplicação permite o gerenciamento dos Usuários, Postagens e Temas, além de utilizar autenticação por usuário e senha, com validação de token JWT para proteger as rotas e garantir a segurança da aplicação.
- Autenticação por Usuário e Senha: Login seguro para controlar o acesso dos usuários.
- Validação de Token JWT: Proteção de rotas e validação do token para acessar recursos privados.
- CRUD de Usuários: Criação, leitura e atualização de perfis de usuários.
- CRUD de Postagens: Gerenciamento das postagens do Blog.
- CRUD de Temas: Gerenciamento dos Temas das Postagens do Blog.
| Item | Descrição |
|---|---|
| Servidor | Node JS |
| Linguagem de programação | TypeScript |
| Biblioteca | React JS |
| Build | Vite |
| Estilização | Tailwind |
Antes de iniciar, certifique-se de ter as seguintes ferramentas instaladas:
- Node.js (v16+)
- yarn
- Backend da API NestJS rodando (Repositório da API)
git clone https://github.com/usuario/blogpessoal_react_tjs06.git
cd blogpessoal_react_tjs06Utilize o comando abaixo para instalar todas as bibliotecas através do yarn:
yarnA URL da API NestJS deve estar apontando para o endereço abaixo:
http://localhost:4000Inicie o servidor de desenvolvimento com o yarn:
yarn devA aplicação estará disponível no enderço: http://localhost:5173
src/
│
├── components/ # Componentes reutilizáveis
├── contexts/ # Gerenciamento de estado global (ex: autenticação)
├── models/ # Estrutura de dados da aplicação-
├── pages/ # Páginas da aplicação
├── services/ # Integração com a API (requisições HTTP)
├── utils/ # Funções auxiliares (alerts)
└── App.tsx # Componente principal da aplicação
- O usuário realiza o login com e-mail e senha.
- A aplicação faz uma requisição para a API, que retorna um token JWT.
- O token é armazenado na Context API para uso em futuras requisições autenticadas.
- Nas rotas protegidas, o token é validado antes do acesso aos recursos.
- Se o token expirar ou for inválido, o usuário será redirecionado para a página de login.
