O Blog Pessoal é uma aplicação que permite que usuários publiquem, editem e visualizem postagens relacionadas a temas variados, de forma organizada e segura. Este projeto foi desenvolvido com fins educacionais, simulando uma aplicação real de blog para praticar conceitos de API REST com Java e Spring Boot.
Entre os principais recursos que um blog pessoal oferece, destacam-se:
- Criação, edição e exclusão de postagens
- Associação de postagens a temas específicos
- Cadastro e autenticação de usuários
- Visualização de postagens por tema ou usuário
- Controle de acesso a operações sensíveis
A API do Blog Pessoal foi desenvolvida utilizando Java e o framework Spring, seguindo os princípios da Arquitetura MVC e REST. Ela oferece endpoints para o gerenciamento dos recursos Usuário, Postagem e Tema, permitindo a interação entre os usuários e os conteúdos publicados.
- Consulta, cadastro, login e atualização dos dados de usuários
- Consulta, criação e gerenciamento de temas para classificar postagens
- Criação, edição, listagem e remoção de postagens
- Associação de postagens a temas e autores
- Autenticação via token JWT para segurança nas requisições
O Diagrama de Classes é um modelo visual usado na programação orientada a objetos para representar a estrutura de um sistema. Ele exibe classes, atributos, métodos e os relacionamentos entre elas, como associações, heranças e dependências.
Esse diagrama ajuda a planejar e entender a arquitetura do sistema, mostrando como as entidades interagem e se conectam. É amplamente utilizado nas fases de design e documentação de projetos.
classDiagram
class Postagem {
- id : Long
- titulo : String
- texto : String
- data : LocalDateTime
- tema : Tema
- usuario : Usuario
}
class Tema {
- id : Long
- descricao : String
- postagens : List<Postagem>
}
class Usuario {
- id : Long
- nome : String
- usuario : String
- senha : String
- foto : String
- postagens : List<Postagem>
}
Tema "1" --> "0..*" Postagem : classifica
Usuario "1" --> "0..*" Postagem : cria
O DER (Diagrama Entidade-Relacionamento) do projeto Blog Pessoal representa de forma visual como os dados estão organizados no banco de dados relacional e como as entidades se relacionam entre si.
erDiagram
tb_usuarios ||--o{ tb_postagens : escreve
tb_temas ||--o{ tb_postagens : classifica
tb_usuarios {
bigint id PK
varchar(255) nome
varchar(255) usuario
varchar(255) senha
varchar(5000) foto
}
tb_temas {
bigint id PK
varchar(255) descricao
}
tb_postagens {
bigint id PK
varchar(255) titulo
varchar(255) texto
datetime data
bigint tema_id FK
bigint usuario_id FK
}
| Item | Descrição |
|---|---|
| Servidor | Tomcat |
| Linguagem de programação | Java |
| Framework | Spring Boot |
| ORM | JPA + Hibernate |
| Banco de dados Relacional | MySQL |
| Segurança | Spring Security |
| Autenticação | JWT |
| Testes automatizados | JUnit |
| Documentação | SpringDoc |
Para executar os códigos localmente, você precisará:
- Java JDK 17+
- Banco de dados MySQL
- STS
- Insomnia ou Postman
- Clone o repositório do Projeto Blog Pessoal dentro da pasta do Workspace do STS
git clone https://github.com/nayarabastos/Blog-Pessoal-Spring.git- Abra o STS e selecione a pasta do Workspace onde você clonou o repositório do projeto
- No menu superior do STS, clique na opção: File 🡲 Import...
- Na janela Import, selecione a opção: General 🡲 Existing Projects into Workspace e clique no botão Next
- Na janela Import Projects, no item Select root directory, clique no botão Browse... e selecione a pasta do Workspace onde você clonou o repositório do projeto
- O STS reconhecerá o projeto automaticamente
- Marque o Projeto Blog Pessoal no item Projects e clique no botão Finish para concluir a importação
- Na Guia Boot Dashboard, localize o Projeto Blog Pessoal
- Selecione o Projeto Blog Pessoal
- Clique no botão Start or Restart
para iniciar a aplicação
- Caso seja perguntado se você deseja autorizar o acesso ao projeto via rede, clique no botão Permitir Acesso
- Acompanhe a inicialização do projeto no console do STS
- Verifique se o banco de dados
db_blogpessoalfoi criado corretamente e se as tabelas foram geradas automaticamente. - Utilize o Insomnia ou o Postman para testar os endpoints.
Tip
Ao acessar a URL http://localhost:8080 em seu navegador, a interface do Swagger será carregada automaticamente, permitindo a visualização e a interação com os endpoints da API, bem como a consulta dos modelos de dados utilizados.
- Na Package Explorer, navegue até a Source Folder
src/test/java - Localize as classes que contém os testes (classes cujo nome terminam com a palavra Test)
Você pode executar os testes de duas formas:
- Clique com o botão direito sobre a classe de teste
- Selecione a opção
Run As > JUnit Test
- Clique com o botão direito sobre a pasta do projeto
- Selecione:
Run As > JUnit test
- Ao executar os testes, na Package Explorer, será exibida a guia JUnit mostrando os resultados dos testes
- Os testes que falharem serão destacados em vermelho, e os bem-sucedidos em verde
- Clique nos testes para visualizar os detalhes ou mensagens de erro no item Failure Trace
Este repositório é parte de um projeto educacional, mas contribuições são sempre bem-vindas! Caso tenha sugestões, correções ou melhorias, fique à vontade para:
- Criar uma issue
- Enviar um pull request
- Compartilhar com colegas que estejam aprendendo Java!
Desenvolvido por Nayara Para dúvidas, sugestões ou colaborações, entre em contato via GitHub ou abra uma issue!

