https://github.com/heliohdd/ecommerce-spring-ionic-backend
API RESTful Java com Spring Boot e Spring Security e banco de dados MySQL.
https://github.com/heliohdd/ecommerce-spring-ionic-backend
cloud-storage heroku-deployment jpa-hibernate jwt-tokens mysql-database rest-api restful-webservices s3-storage smtp-mail spring-boot-2 spring-data-jpa spring-security springboot springframework
Last synced: 4 months ago
JSON representation
API RESTful Java com Spring Boot e Spring Security e banco de dados MySQL.
- Host: GitHub
- URL: https://github.com/heliohdd/ecommerce-spring-ionic-backend
- Owner: heliohdd
- License: mit
- Created: 2020-01-09T18:31:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T19:56:30.000Z (about 4 years ago)
- Last Synced: 2024-12-29T14:57:07.532Z (6 months ago)
- Topics: cloud-storage, heroku-deployment, jpa-hibernate, jwt-tokens, mysql-database, rest-api, restful-webservices, s3-storage, smtp-mail, spring-boot-2, spring-data-jpa, spring-security, springboot, springframework
- Language: Java
- Homepage: https://curso-spring-ionic-hd.herokuapp.com/
- Size: 285 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
DemonstraçãoObservação: Pode ser que a aplicação leve alguns segundos na primeira vez que for ativado o link.
# Índice
- [Sobre](#-sobre)
- [Tecnologias Utilizadas](#-tecnologias-utilizadas)
- [Estrutura das Entidades](#-estrutura-das-entidades)
- [Como baixar o projeto](#-como-baixar-o-projeto)## 🔖 Sobre
O projeto **[ecommerce-spring-ionic-backend](https://github.com/heliohdd/ecommerce-spring-ionic-backend)** é a implementação de uma **API RESTful** na Plataforma **Heroku** que é um **PaaS**, ou seja, uma plataforma como serviço que oferece recursos de alta **escalabilidade** seguindo o moderno modelo de **containers** que permitem alta **disponibilidade** da aplicação.
Essa é uma versão demonstrativa que disponibiliza os seguintes recursos: ```Categoria``` e seus ```Produtos``` , ```Cliente``` e seu respectivo ```Telefone``` e ```Endereço```, bem como ```Pedido```, formas de ```Pagamento``` preferida, itens do pedido e informações de entrega.
Maiores informações sobre a estrutura das entidades estão na seção [Estrutura das Entidades](#-estrutura-das-entidades).
Esta e uma solução digital da categoria **e-commerce**, contendo todo o workflow essencial à implantação de uma loja virtual. Sua estrutura atende à finalidade básica de ```Cadastro``` de clientes, e ```Registro``` de pedidos contendo informações relacionadas ao histórico de compras e pagamentos bem como dos produtos adquiridos.
Este projeto apresenta de forma prática a implementação de um modelo conceitual sobre o paradigma **orientado a objetos**, usando boas práticas de desenvolvimento e padrões de mercado.
---
## 🚀 Tecnologias Utilizadas
O projeto foi desenvolvido utilizando as seguintes tecnologias.
- [Spring Boot](https://spring.io/)
- [Apache Tomcat](http://tomcat.apache.org/)
- [Maven](https://maven.apache.org/)
- [Postman](https://www.postman.com/)
- [H2](https://www.h2database.com/html/main.html)---
## 🧮 Estrutura das Entidades
Conceitualmente o projeto é formado pelas entidades ```Cliente```, ```Endereço```, ```Cidade``` e ```Estado```; ```Pedido``` e ```Pagamento```; ```Produto``` e ```Categoria``` sendo estruturadas como exemplos abaixo:
### Cliente
```json
{
"id": Integer,
"name": String,
"email": String,
"phone": String,
"password": String
}
```### Endereço
```json
{
"id": Integer,
"logradouro": String,
"numero": String,
"complemento": String,
"bairro": String,
"cep": String
}
```### Cidade
```json
{
"id": Integer,
"nome": String
}
```### Estado
```json
{
"id": Integer,
"nome": String
}
```### Pedido
```json
{
"id": Integer,
"instante": Date
}
```### Produto
```json
{
"id": Integer,
"nome": String,
"preco": Double
}
```### Categoria
```json
{
"id": Integer,
"nome": String
}
```## 📂 Como conferir o projeto na internet
O ***deploy*** do projeto pode ser acessado através deste link.
Como este projeto está desenvolvido no **Back-End**, a página retornará o conteúdo no formato **JSON**, o qual é destinado a ser consumido por requisições **HTTP** geradas pelo **Front-End**, que fará a interface com o usuário possibilitando uma experiência visual agradável e a adequada formatação com que a informação será apresentada.
Os links abaixo direcionam para os recursos disponíveis correspondente a cada entidade .
- [Clientes](https://curso-spring-ionic-hd.herokuapp.com/clientes)
- [Pedidos](https://curso-spring-ionic-hd.herokuapp.com/pedidos)
- [Produtos](https://curso-spring-ionic-hd.herokuapp.com/produtos)
- [Categorias](https://curso-spring-ionic-hd.herokuapp.com/categorias)Obs.: Este projeto implementa o módulo **Spring Security** incluindo as funcionalidades de **Autenticação e Autorização** para acesso aos **endpoints** estando disponível apenas o acesso a **Clientes**. Para acesso a todos os recursos será incluso orientações para a utilização da ferramenta **Postman** a qual permite acesso pleno inclusive através de **token**.
---
## 📂 Como baixar o projeto
```bash
# Clonar o repositório
$ git clone https://github.com/heliohdd/ecommerce-spring-ionic-backend.git# Entrar no diretório
$ cd ecommerce-spring-ionic-backend# Importar projeto através do STS 4 (ou IDE de preferência)
# Iniciar o projeto clicando com o botão direito no arquivo "WebserviceApplication.java" acionando as opção "Run as" e "Spring Boot App".
```
---
Desenvolvido por Hélio Dourado