An open API service indexing awesome lists of open source software.

https://github.com/lucas300/blogpessoal_spring

Blog pessoal onde compartilho minhas ideias, pensamentos e conhecimentos. API desenvolvida em Java com Spring Boot, com CRUD de postagens, temas e usuários, além de autenticação com JWT. Documentação via Swagger.
https://github.com/lucas300/blogpessoal_spring

hibernate java jparepository spring spring-security

Last synced: 3 months ago
JSON representation

Blog pessoal onde compartilho minhas ideias, pensamentos e conhecimentos. API desenvolvida em Java com Spring Boot, com CRUD de postagens, temas e usuários, além de autenticação com JWT. Documentação via Swagger.

Awesome Lists containing this project

README

          

# 🔐 API - Blog Pessoal com Spring Boot, Spring Security e JWT

Este é o back-end de um projeto que implementa um CRUD completo com autenticação e autorização, utilizando **Java**, **Spring Boot**, **Spring Security** e **JWT**. A API conta com relacionamento entre entidades, validações e está documentada com **Swagger**.

## 🚀 Projeto Online

🔗 Acesse aqui o Blog Pessoal: https://blog-pessoal-lucas-pi.vercel.app/

🔗 Repositório Front-end: https://github.com/Lucas300/BlogPessoal_React

---

## Tecnologias utilizadas

- Java 17
- Spring Boot
- Spring Security
- JSON Web Tokens (JWT)
- Hibernate
- PostgreSQL
- Maven
- Swagger

## 🛠 Principais pontos abordados no projeto

✔️ Estruturação de entidades no banco de dados com JPA e validações.

✔️ Configuração de autenticação e autorização utilizando Spring Security e JWT.

✔️ Desenvolvimento de endpoints RESTful com métodos HTTP (GET, POST, PUT, DELETE).

✔️ Implementação de relacionamento OneToMany entre as entidades.

✔️ Criação de um serviço de autenticação para proteger rotas e garantir acesso seguro aos recursos.

Além disso, o projeto seguiu boas práticas, como o uso de injeção de dependências (@Autowired), DTOs para login e senha e validação de dados de entrada com Bean Validation.

🎯 Foi uma experiência incrível que me ajudou a consolidar o aprendizado e expandir meus conhecimentos no desenvolvimento de APIs seguras e eficientes.

##

Instruções para rodar na sua máquina

1. Certifique-se de ter o Java 17+ instalado e o MySQL Workbench configurado.

2. Baixe a aplicação no seu computador através do repositório: [GitHub](https://github.com/Lucas300/blogpessoal_spring.git) ou baixe o arquivo compactado e extraia-o para o local de sua preferência.

3. Abra o projeto na sua IDE de preferência.

4. Importe o projeto como "Existing Maven Projects".

### Exemplo usando o Spring Tools/Eclipse:

5. Aguarde até que a IDE baixe todas as dependências do projeto.

6. Verifique se o perfil ativo da aplicação está definido como "dev":


7. No arquivo `application-dev.properties`, verifique e ajuste seu usuário e senha do MySQL, se necessário:


8. Execute a aplicação:

### Exemplo usando o Spring Tools/Eclipse:

9. Acesse a aplicação através do navegador no endereço: [http://localhost:8080/](http://localhost:8080/)

### Agora você já pode explorar a API documentada com Swagger: