All Projects → JoeCao → Qbike

JoeCao / Qbike

A demo of share bike using DDD, MicroService and Spring Cloud

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Qbike

Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-62.94%)
Mutual labels:  microservice, ddd-architecture
Loc Framework
本项目是完全基于Spring Boot2和Springcloud Finchley所进行了开发的,目的是简化和统一公司内部使用微服务框架的使用方法
Stars: ✭ 238 (-44.52%)
Mutual labels:  microservice, spring-cloud
Mcloud
基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器
Stars: ✭ 185 (-56.88%)
Mutual labels:  microservice, spring-cloud
Library
A microservice project using .NET Core 2.0, DDD, CQRS, Event Sourcing, Redis and RabbitMQ
Stars: ✭ 122 (-71.56%)
Mutual labels:  microservice, ddd-architecture
Cola Cloud
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台,集成OAuth2认证、集成短信验证码登录、微信小程序登录、FlyWay数据库版本管理、网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix、Turbine监控。开发用户中心、权限管理、组织架构、数据字典、消息中心、通知中心等模块。基于MyBatisPlus Generator 开发代码生成器
Stars: ✭ 285 (-33.57%)
Mutual labels:  microservice, spring-cloud
Jiiiiiin Security
一个前后端分离的内管基础项目
Stars: ✭ 132 (-69.23%)
Mutual labels:  microservice, spring-cloud
Spring Cloud Rest Tcc
以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案
Stars: ✭ 2,562 (+497.2%)
Mutual labels:  microservice, spring-cloud
Febs Cloud
基于Spring Cloud Hoxton.RELEASE、Spring Cloud OAuth2 & Spring Cloud Alibaba & Element 微服务权限系统,开箱即用。预览地址:https://cloud.mrbird.cn
Stars: ✭ 1,295 (+201.86%)
Mutual labels:  microservice, spring-cloud
Event Stream Processing Microservices
Using Spring Cloud Stream and Spring State Machine to create event-driven microservices
Stars: ✭ 255 (-40.56%)
Mutual labels:  microservice, spring-cloud
spring-cloud-sidecar-polygot
This project contains samples demonstrating the usage of side car polygot
Stars: ✭ 30 (-93.01%)
Mutual labels:  microservice, spring-cloud
Piggymetrics
Microservice Architecture with Spring Boot, Spring Cloud and Docker
Stars: ✭ 11,161 (+2501.63%)
Mutual labels:  microservice, spring-cloud
Microservices Recipes A Free Gitbook
“If you are working in an organization that places lots of restrictions on how developers can do their work, then microservices may not be for you.” ― Sam Newman
Stars: ✭ 393 (-8.39%)
Mutual labels:  microservice, spring-cloud
Python Eureka Client
A eureka client written in python. Support registering your python component to Eureka Server, as well as calling remote services by pulling the the Eureka registry.
Stars: ✭ 111 (-74.13%)
Mutual labels:  microservice, spring-cloud
Cloud Book
《Spring Cloud 微服务架构进阶》各章节附录源码
Stars: ✭ 142 (-66.9%)
Mutual labels:  microservice, spring-cloud
Dev Stuff
😎 Programming stuff for everyone. Collection of articles, videos about architecture, Domain Driven Design, microservices, testing etc.
Stars: ✭ 105 (-75.52%)
Mutual labels:  microservice, ddd-architecture
Spring Cloud Azure
Spring Cloud integration with Azure services
Stars: ✭ 197 (-54.08%)
Mutual labels:  microservice, spring-cloud
Web Development Interview With Java
Java 开发相关技术栈(大中厂)高频面试问题收录。
Stars: ✭ 69 (-83.92%)
Mutual labels:  microservice, spring-cloud
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (-83.22%)
Mutual labels:  microservice, spring-cloud
Clean Architecture Manga
🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: ✭ 3,104 (+623.54%)
Mutual labels:  microservice, ddd-architecture
Micro Company
Rest-full, Hipermedia-based distributed application. Spring boot & cloud. Angular. CQRS. Eventsourcing. Axonframework. Microservices. Docker. CloudFoundry
Stars: ✭ 307 (-28.44%)
Mutual labels:  microservice, spring-cloud

滴滴电动车

本项目纯属虚构,如有雷同实属巧合

项目背景

在嘀嘀打车的创业成功经验引领下你的创业团队发现了一个拥挤的大城市的电动车机会。 你们发现电动车由于其灵活性能够在拥挤的路面上穿行,从而能够帮助很多上班族避免早晚高峰,按时到达目的地,比滴滴打车更方便。 你们决定设计一个电动车的打车平台,能够在早晚高峰时匹配电动车司机和有需要的乘客。

Quick Start

启动docker daemon进程
mvn clean install -DskipTests=true
docker-compose up mysql
ctrl-c退出
docker-compose up

http://localhost:8050

测试接口

安装postman,导入qbkie.postman_collection.json
调用fetchUser接口,注意,spring cloud第一次调用可能会失败,需要预热一段时间。
出现结果后,调用updateDriverPostion接口,将司机的坐标导入到redis中
然后就可以使用placeIntention接口发起一个请求 然后再用confirmIntention接口,返回true就是成功匹配了,Order就会生成
注意:confirm的接口中需要输入intentionId,如果是第一次,就是1,不清楚,可以到docker的MySQL的表t_intention中找

http://127.0.0.1:9411上可以找到zipkin对这几次调用的结果的追踪
zipkin

Dev

请安装Lombok插件,Java8 Stream + Lombok + Spring boot, 你会拥有一个全新的Java开发体验。

TODO

  • [x] 完全基于领域驱动设计
  • [x] 聚合根、领域对象、API的提炼按照Event Storming过程分析
  • [x] 升级到Spring Boot 2.0Spring Cloud Finchley
  • [x] Eureka服务注册与发现
  • [ ] Swagger2管理REST API
  • [x] Hystrix服务的保护与容错
  • [x] Zuul网关应用
  • [x] Zipkin分布式追踪

业务场景

初步设计的场景比较简单,主要是匹配有需求的乘客附近的电动车司机。经过前期的需求梳理,产出了下列的基本功能

  • 司机发布自己的位置和状态(默认一辆电动车只能搭载一位乘客)
  • 乘客提交行程需求(行程需要包含起点和终点,只支持实时提交,不支持预约)
  • 系统自动为乘客匹配合适的司机,将需求发送至司机手中
  • 司机确认是否接受行程
  • 司机和乘客按订单完成行程
  • 乘客行程途中要求改变行程
  • 系统计费及完成订单
  • 乘客对司机的评价

主要场景.005

业务流程

业务流程.006

事件

事件.008

命令

滴滴电动车需求.009

聚合识别

滴滴电动车需求.010

滴滴电动车需求.011

系统架构

image

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].