All Projects → SirNoob97 → OnlineStore

SirNoob97 / OnlineStore

Licence: BSD-3-Clause license
REST api for an online store using microservices architecture.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to OnlineStore

Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (+422.22%)
Mutual labels:  spring-cloud, spring-security, spring-data-jpa
Spring
Personal notes of preparation to Spring 5 Professional Certification
Stars: ✭ 35 (+29.63%)
Mutual labels:  spring-cloud, spring-security, spring-data-jpa
Spring Cloud Flycloud
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…
Stars: ✭ 1,514 (+5507.41%)
Mutual labels:  spring-cloud, spring-security, spring-data-jpa
Learning Path Spring Boot Microservices
Curated path for learning Spring Boot & Microservices based on published videos in TechPrimers
Stars: ✭ 116 (+329.63%)
Mutual labels:  spring-cloud, spring-security
spring-tiles-sample-app
Spring MVC - Apache Tile - AdminLTE Bootstrap template - Sample Application
Stars: ✭ 33 (+22.22%)
Mutual labels:  spring-security, spring-data-jpa
Sample Spring Oauth2 Microservices
some examples that show basic and more advanced implementations of oauth2 authorization mechanism in spring-cloud microservices environment
Stars: ✭ 109 (+303.7%)
Mutual labels:  spring-cloud, spring-security
Jiiiiiin Security
一个前后端分离的内管基础项目
Stars: ✭ 132 (+388.89%)
Mutual labels:  spring-cloud, spring-security
Mi S
基于SpringBoot+SpringCloud+Mybatis主流框架搭建的分布式敏捷开发系统架构,为中、小型项目打造企业级基础开发多种解决方案。
Stars: ✭ 140 (+418.52%)
Mutual labels:  spring-cloud, spring-security
Cloud Book
《Spring Cloud 微服务架构进阶》各章节附录源码
Stars: ✭ 142 (+425.93%)
Mutual labels:  spring-cloud, spring-security
Springboot Learning
《Spring Boot基础教程》,2.x版本持续连载中!点击下方链接直达教程目录!
Stars: ✭ 13,916 (+51440.74%)
Mutual labels:  spring-cloud, spring-data-jpa
Mcloud
基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器
Stars: ✭ 185 (+585.19%)
Mutual labels:  spring-cloud, spring-security
Awesome Spring
A curated list of awesome books, tutorials, courses, and resources for the Spring framework ecosystem.
Stars: ✭ 186 (+588.89%)
Mutual labels:  spring-cloud, spring-security
Spring Cloud Study
spring-cloud学习
Stars: ✭ 108 (+300%)
Mutual labels:  spring-cloud, spring-security
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+202851.85%)
Mutual labels:  spring-cloud, spring-security
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (+166.67%)
Mutual labels:  spring-cloud, spring-security
Sample Spring Cloud Webflux
sample microservices demonstrating usage of spring reactive support with spring webflux and integration spring cloud, eureka, ribbon, spring cloud gateway, spring data jpa and mongodb
Stars: ✭ 65 (+140.74%)
Mutual labels:  spring-cloud, spring-data-jpa
Springcloud Shop
基于Spring Boot、Spring Cloud的微服务商城demo
Stars: ✭ 198 (+633.33%)
Mutual labels:  spring-cloud, spring-security
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+99203.7%)
Mutual labels:  spring-cloud, spring-data-jpa
Cloud Enabled Microservice
Tasks microservice (Spring Boot, MVC, Data, Lombok, Cloud, OAuth2, Config, Eureka, Zuul, Hystrix, Docker)
Stars: ✭ 14 (-48.15%)
Mutual labels:  spring-cloud, spring-data-jpa
Spring Samples
A series of examples used to demonstrate certain features of Spring.
Stars: ✭ 154 (+470.37%)
Mutual labels:  spring-cloud, spring-security

Online Store

This project consists of the REST api for an online store using microservices architecture.

My goal whit this project is to use all knowledge that i have acquired over the course of 8 months in a self-taught way to create a rest-full amateur application for an online store.

app-diagram

Microservices

  • Product-Service microservice in charge of products management. Commands and Endpoints
  • Auth-Service microservice in charge of user authentication and authorization, as well as acting as the application gateway. Commands and Endpoints
  • Shopping-Service microservice in charge of invoice management, to generate invoices it is necessary for this microservice to make requests to products-services, so it is also a client. Commands and Endpoints

These will obtain their configuration from this repository through a centralized configuration service that will use the Spring Cloud Config Server dependency.

Eureka dependencies will be used for the discovery of all services.

Hystrix's will be used for monitoring thaks to Actuator and Admin Starter, which will provide the information generated by Actuator in a separate and more readable endpoint.

Cloud Gateway to have a single acces endpoint.

Spring Security and JWT for the users authentication and authorization.

Prerequisites

Gettin Started

Spring-boot Maven Plugin

To run config-service and registration-service, you just need to use this command:

mvn clean compile spring-boot:run

The other microservices have their own README file that contains the commands to run the microservice using the spring-boot maven plugin.

Docker

To run the application with Docker(docker-compose), use the Makefile, this file will compile and package the jar files that will be used to build the images.

make run

If you use this method you should use the respective ip of the microservice.

  • PostgreSQL: 192.168.0.21:5432
  • Config-Service: 192.168.0.2:8081
  • Resgistry-Service: 192.168.0.3:8082
  • Auth-Service: localhost:8090 (Gateway)
  • Product-Service: 192.168.0.12:8091
  • Shopping-Service: 192.168.0.13:8092

Ideally, only the auth-service ip should be set as it also acts as the application gateway (this is the reason why only this service exposes its port to one of my host). In this way, with all the services with fixed ip, I can test the application in a faster way for me and more friendly for my pc (without having to use the gateway to test the other services).

Database

Dependencies

TODO

  • Add security to each microservice.
  • Implement Customer-Service, auth-service client microservice and with which customers can add/edit more information to their account.
  • Decrease repeating code as much as possible.
  • Add Admin-Service.
  • Add Zipkin server.

Due to the performance required by the application, the admin-server and zipkin-server will be omitted from the application :c

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].