주식,코인과 같은 자산거래에 필요한 OrderBook 알고리즘 기반 거래소 시스템 구현 프로젝트
- System : AWS EC2 : CentOS 7
- DB : AWS RDS : Mysql
- FrontEnd-Language: javaScript,jQeury,Ajax
- BackEnd-Language:Java
- BackEnd-Framework:Spring Legacy,mybatis,maven
- was:tomcat 9.0
- STOMP를 활용한 실시간 거래 시스템 구축
- 신뢰성 있는 거래 알고리즘 기능 구현
- DB 거래내역을 기반한 보유자산 변동 시각화
- Foundations of Reinforcement Learning with Applications in Finance
https://stanford.edu/~ashlearn/RLForFinanceBook/chapter9.pdf - Java-Matching-Engine-Core
https://github.com/Laffini/Java-Matching-Engine-Core
- WebSocket
https://docs.spring.io/spring-framework/docs/5.2.6.RELEASE/spring-framework-reference/web.html#websocket
https://spring.io/guides/gs/messaging-stomp-websocket/
yongsan
📦main
┣ 📂java
┃ ┣ 📂com
┃ ┃ ┣ 📂seoul
┃ ┃ ┃ ┣ 📂infra
┃ ┃ ┃ ┃ ┣ 📂common
┃ ┃ ┃ ┃ ┃ ┣ 📂basic
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂crypto
┃ ┃ ┃ ┃ ┃ ┣ 📂interceptor
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CheckLoginSessionInterception.java
┃ ┃ ┃ ┃ ┃ ┣ 📂utilFunc
┃ ┃ ┃ ┃ ┃ ┗ 📜MailService.java
┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┣ 📂modules
┃ ┃ ┃ ┃ ┃ ┣ 📂exchange :: 거래소 Back-End-Side 로직 구현 package
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller :: 거래소 페이지의 의 Controller
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂exchwebsocket :: 프로젝트의 STOMP WebSocket Configure Package
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂orderMatchingSystem :: 거래기능(OrderBook Algorithm) 관련 서비스로직 Package
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExchMapper.xml
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExchangeDao.java
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExchangeService.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ExchangeServiceImpl.java
┃ ┃ ┃ ┃ ┃ ┣ 📂helpcenter :: 고객센터 페이지의 서비스 로직 pakcage
┃ ┃ ┃ ┃ ┃ ┣ 📂investments :: 보유자산 및 자산평가, 거래내역 서비스로직 package
┃ ┃ ┃ ┃ ┃ ┣ 📂membergroup :: 유저관리 관련 서비스 로직 package
┃ ┃ ┃ ┃ ┃ ┗ 📜A.java
┃ ┃ ┃ ┃ ┗ 📜HomeController.java
┃ ┃ ┃ ┗ 📜.DS_Store
┃ ┃ ┗ 📜.DS_Store
┃ ┗ 📜.DS_Store
┣ 📂resources
┃ ┣ 📜log4j.xml
┃ ┣ 📜log4jdbc.log4j2.properties
┃ ┗ 📜mybatis-config.xml
┣ 📂webapp
┃ ┣ 📂META-INF
┃ ┣ 📂WEB-INF
┃ ┃ ┣ 📂lib
┃ ┃ ┣ 📂spring
┃ ┃ ┃ ┣ 📂appServlet
┃ ┃ ┃ ┃ ┣ 📜schedule.xml
┃ ┃ ┃ ┃ ┣ 📜servlet-context.xml
┃ ┃ ┃ ┃ ┗ 📜stomp.xml
┃ ┃ ┃ ┗ 📜root-context.xml
┃ ┃ ┣ 📂views :: html(jsp) package
┃ ┃ ┃ ┣ 📂exchange :: 거래소
┃ ┃ ┃ ┣ 📂helpcenter :: 고객센터
┃ ┃ ┃ ┣ 📂home :: 홈
┃ ┃ ┃ ┣ 📂include :: header, footer 와 같은 include 요소들
┃ ┃ ┃ ┣ 📂investments :: 보유자산 페이지
┃ ┃ ┃ ┣ 📂rscs :: 외부 resource 관리 include
┃ ┃ ┃ ┣ 📂templates
┃ ┃ ┃ ┣ 📂userOrderHistory :: 유저의 거래내역 페이지
┃ ┃ ┗ 📜web.xml
┃ ┗ 📂resources
┃ ┃ ┣ 📂css
┃ ┃ ┣ 📂font
┃ ┃ ┣ 📂image
┃ ┃ ┣ 📂js
┃ ┃ ┃ ┣ 📂exchange
┃ ┃ ┃ ┃ ┣ 📂BoS
┃ ┃ ┃ ┃ ┣ 📂cryptoList
┃ ┃ ┃ ┃ ┣ 📂exchWebSock
┃ ┃ ┃ ┃ ┃ ┗ 📜getOBByWebSock.js :: stomp websocket 기반 실시간 거래 기능 구현을 위한 front logic script
┃ ┃ ┃ ┃ ┣ 📂transacationHistory
┃ ┃ ┃ ┃ ┃ ┗ 📜transacationHistory.js
┃ ┃ ┃ ┃ ┣ 📜exchange.js
┃ ┃ ┃ ┣ 📂homeComponent :: 로그인 및 회원가입 관연 로직을 포함한 folder
┃ ┃ ┃ ┃ ┣ 📂addUser
┃ ┃ ┃ ┃ ┃ ┣ 📜Validation.js
┃ ┃ ┃ ┃ ┣ 📜header.js
┃ ┃ ┃ ┃ ┣ 📜home.js
┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┣ 📂investment :: 자산투자 현황 관련 로직을 포함한 folder
┃ ┃ ┃ ┃ ┣ 📜balance.js
┃ ┃ ┃ ┃ ┣ 📜history.js
┃ ┃ ┃ ┃ ┗ 📜wait_orders.js
┃ ┃ ┃ ┣ 📜.js
┃ ┃ ┃ ┣ 📜chart.js
┃ ┃ ┃ ┣ 📜helplcenter.js
┃ ┃ ┃ ┣ 📜pagination.js
┃ ┃ ┃ ┣ 📜paginationSH.js
┃ ┃ ┃ ┣ 📜paging.js
┃ ┃ ┃ ┣ 📜templet.js
┗ 📜.DS_Store
