Este repositório contém o código-fonte do backend para um blog pessoal desenvolvido utilizando o framework Spring. O projeto implementa um sistema completo com CRUD (Create, Read, Update, Delete) para tema e categorias, usuários e utilizando relacionamentos @OneToMany
e @ManyToOne
para representar a relação entre artigos e seus comentários.
- Autenticação: Utilização de JWT para autenticação de usuários.
- Endpoints RESTful: Criação de endpoints para CRUD de categorias, usuários e comentários, utilizando relacionamentos
@OneToMany
e@ManyToOne
. - Segurança: Utilização do Spring Security para controle de acesso aos recursos da aplicação.
- Persistência de Dados: Utilização do Spring Data JPA para persistência e consulta de dados no banco de dados.
- Testes: Os testes unitários são realizados com JUnit 5, enquanto os testes de integração são executados utilizando o H2 Database.
- Documentação da API: Utilize o Swagger para explorar e testar os endpoints da API. Acesse a documentação em http://localhost:8080/swagger-ui.html.
- Testado no Insomnia: O projeto foi testado utilizando o Insomnia para verificar a integridade e o correto funcionamento dos endpoints.
- Java: Linguagem de programação principal.
- Spring: Framework principal utilizado para o desenvolvimento.
- JWT (JSON Web Token): Para autenticação e autorização de usuários.
- Spring Data JPA: Biblioteca do Spring para acesso e manipulação de dados relacionais no banco de dados.
- Spring Web: Utilizado para criar APIs RESTful.
- Spring Security: Utilizado para a segurança da aplicação.
- MySQL: Banco de dados relacional utilizado para armazenamento de dados.
- PostgreSQL: Opção alternativa para adaptação do código para o Render.
- H2 Database: Banco de dados em memória utilizado para testes de integração.
- JUnit 5: Framework de testes unitários para Java.
- Swagger: Utilizado para documentação do código.
- Docker: Utilizado para criação de containers e para facilitar a interpretação do Java no Render.
Para executar o projeto localmente, siga os passos abaixo:
-
Clonar o repositório: git clone https://github.com/rosdrigo/Projeto_blogPessoal.git
-
Configurar o Banco de Dados:
- Utilize MySQL ou PostgreSQL e configure as credenciais no arquivo
application.properties
.
- Executar com Docker:
- Utilize o Docker para criar um container com a aplicação e o banco de dados.
- Documentação da API:
- Acesse a documentação da API gerada pelo Swagger em http://localhost:8080/swagger-ui.html.
- Testes:
- Execute os testes unitários com JUnit 5 e os testes de integração utilizando o H2 Database.
Este projeto está configurado para deploy no Render. Utilize o Docker para criar um container que possa ser interpretado pelo Render.