Repository files navigation
조이툰 이동 (현재 서버막아 놓음)
NFT 기반 웹툰수익 거래 종합 플랫폼입니다. 블록체인 기술인 NFT를 활용해 웹툰 소장권을 자유롭게 거래하고, 토큰 소유자들이 NFT소유 비율에 따라 웹툰 유료열람 수익료를 분배받을 수 있는 새로운 웹툰 종합 플랫폼을 제시합니다.
NFT Block chain 거래는 Klaytn 을 사용하였습니다.
MSA 아키텍처
MySQL DB 설계
NCP 클라우드 인프라 구축
Spring Boot Backend
Eureka Service Discovery
Spring Cloud Config Server
Spring Cloud Bus : RabbitMQ
Spring Cloud Gateway
인증 필터링
첫 토큰 발행 요청(로그인 요청)을 받으면 인증 서버로 전달해서 Access token과 Refresh Token 받아와서 Client에 전달
Client로부터 Refresh Token을 받아서 확인하고, 유효하면 인증서버에서 새로운 access token을 발급받은 뒤 Client에 전달하고 유효하지 않으면 로그인 하라고 알려주기
유효하지 않은 접속차단 등 보안 설정
Micro Service
User-service
Spring security
Spring JPA MySQL
로그인 및 인증 관련 CRUD
유저 캐시 충전 및 환불 기능
Refresh Token과 Access Token 발행
로그인시 Redis에 Refresh Token 저장
Webtoon-service
웹툰 회차 및 썸네일 CRUD
찜 & 댓글 & 별점 CRUD
웹툰 랭킹 및 개인화 추천 CRUD
Cash-service
웹툰 유료열람권 구매 기능
캐시내역 CRUD (feat. MongoDB)
Micro Service간 통신
RestTemplate
Feign Client
Event- Driven 아키텍처
Kafka Producer & Consumer : 일대다 관계의 통신이 필요한 경우에 사용
Kafka Connecter: Source & Sink Connector 생성
mysql - mysql
mong db → mysql : Mongo DB source Connector
mysql → mongo db : MySQL sink Connector
Circuit Breaker : Resilience4j
ELK + Redis : 로그 스트림 & 모니터링
Sleuth + Zipkin : 분산추적
Docker + k8s + Jenkins : CI/CD 구축
java -version : java version "11.0.11" 2021-04-20 LTS
mvn -v : Apache Maven 3.8.1
node -v : v15.14.0
npm -v : 7.20.5
EWHA-JOY 레포지토리 git clone
로컬환경에서 백엔드와 프론트엔드 실행 (단, db는 클라우드를 이용함)
config-server 실행
eureka-server 실행
api-gateway 실행
cash-service, user-service, webtoon-service 실행
NFT-server npm install 후 실행
FrontEnd npm install 후 실행
아래의 아이디/비밀번호 사용가능
작가권한 : author_joy1886 / joyjoy1886*
유저권한 : joy_user_1886 / joyjoy1886*
About
2021 오픈 인프라 개발 경진대회 - NFT기반 웹툰거래 종합 플랫폼
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.