목차
KT-Library는 마이크로서비스 아키텍처로 구성된 도서 관리 시스템입니다. 이 저장소는 백엔드 마이크로서비스, API 게이트웨이, 프론트엔드를 포함하는 모노레포 형태로 관리됩니다.
KT-Library는 다음과 같은 주요 서비스를 제공합니다:
- 백엔드 마이크로서비스:
point,author,customer,manuscript,ai,platform등 도서 관리 시스템의 핵심 비즈니스 로직을 담당합니다. - API 게이트웨이 (Spring Gateway): 모든 마이크로서비스로의 요청을 라우팅하고, 공통 기능을 처리합니다.
- 프론트엔드: React 기반의 사용자 인터페이스를 제공하여 도서 검색, 관리 등의 기능을 수행합니다.
| 이성훈 | 김민수 | 박소연 | 배소정 | 장준혁 | 조승빈 | |
|---|---|---|---|---|---|---|
| 역할 | 조장, 작가 관리 서비스 개발 | AI 서비스 개발 | 플랫폼 서비스 개발 | 포인트 서비스 개발 | 집필 관리 서비스 개발 | 고객 관리 서비스 개발 |
| p.plue1881@gmail.com | minsue9608@naver.com | gumza9go@gmail.com | bsj9278@gmail.com | kalina01255@naver.com | benscience@naver.com | |
| GitHub | https://github.com/NextrPlue | https://github.com/K-Minsu | https://github.com/sorasol9 | https://github.com/BaeSJ1 | https://github.com/angrynison | https://github.com/changeme4585 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- 도서 관리: 도서 정보 등록, 조회, 수정, 삭제
- 사용자/저자 관리: 사용자 및 저자 정보 관리
- 포인트/원고 관리: 포인트 및 원고 관련 기능
- AI 서비스 연동: (AI 서비스의 구체적인 기능이 있다면 추가)
- API 게이트웨이: 서비스 라우팅 및 통합 API 제공
- 프론트엔드: 사용자 친화적인 웹 인터페이스
API 게이트웨이는 8088 포트에서 실행되며, httpie 또는 다른 API 클라이언트를 사용하여 테스트할 수 있습니다.
- point
http :8088/points id="id" point="point" createAt="createAt" updateAt="updateAt" customerId="customerId"
- author
http :8088/authors id="id" email="email" name="name" introduction="introduction" isApproved="isApproved" createdAt="createdAt" updatedAt="updatedAt"
- customer
http :8088/customers id="id" name="name" email="email" isKtUser="isKTUser" createdAt="createdAt" updatedAt="updatedAt" http :8088/subsciptions id="id" isValid="isValid" startDate="startDate" endDate="endDate" createdAt="createdAt" updatedAt="updatedAt"
- manuscript
http :8088/manuscripts id="id" manuscriptTitle="manuscriptTitle" manuscriptContent="manuscriptContent" authorId="authorId" authorName="authorName" authorIntroduction="authorIntroduction" createdAt="createdAt" updatedAt="updatedAt"
- ai
http :8088/books id="id" summary="summary" coverUrl="coverUrl" bookUrl="bookUrl" createdAt="createdAt" updatedAt="updatedAt" manuscriptTitle="manuscriptTitle" manuscriptContent="manuscriptContent" authorId="authorID" authorName="authorName" introduction="introduction" category="category" price="price"
- platform
http :8088/bookShelves id="id" title="title" category="category" isBestSeller="isBestSeller" viewCount="viewCount" summary="summary" coverUrl="coverUrl" fileUrl="fileUrl" authorId="authorId" price="price" authorName="authorName" introduction="introduction"
서비스를 실행하기 전에 다음 도구들이 설치되어 있는지 확인하십시오:
- Docker 및 Docker Compose
- Node.js (Docker를 사용하지 않고 프론트엔드 개발/빌드 시)
- Maven (Docker를 사용하지 않고 백엔드 개발/빌드 시)
모든 마이크로서비스(백엔드, 게이트웨이, 프론트엔드) 및 Kafka를 시작하려면:
-
Docker 이미지 빌드 및 서비스 시작:
docker-compose -f build-docker-compose.yml up --build
이 명령어는 필요한 모든 Docker 이미지를 빌드한 다음
build-docker-compose.yml에 정의된 서비스를 시작합니다. -
애플리케이션 접속: 모든 서비스가 실행되면 브라우저에서 프론트엔드 애플리케이션에 접속할 수 있습니다:
http://localhost:8088
Docker Compose 외부에서 개발 또는 디버깅을 위해 개별 서비스를 실행해야 하는 경우:
각 마이크로서비스 디렉토리 내의 README.md 파일을 참조하여 특정 지침을 확인하십시오:
pointauthorcustomermanuscriptaiplatform
cd gateway
mvn spring-boot:runcd frontend
npm install
npm start다음 유틸리티는 개발 및 운영에 유용할 수 있습니다:
-
httpie (curl / POSTMAN 대체 도구) 및 네트워크 유틸리티
sudo apt-get update sudo apt-get install net-tools sudo apt install iputils-ping pip install httpie
-
kubernetes 유틸리티 (kubectl)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl -
aws cli (aws)
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
-
eksctl
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp sudo mv /tmp/eksctl /usr/local/bin
KT-Library 프로젝트는 다음과 같은 기술 스택을 활용합니다:
- 언어: Java
- 프레임워크: Spring Boot
- 빌드 도구: Maven
- 메시징: Kafka
- 프레임워크: Spring Cloud Gateway
- 프레임워크/라이브러리: React
- 패키지 매니저: npm
- 컨테이너: Docker
- 오케스트레이션: Kubernetes (AKS), Docker Compose
- Azure Pipelines





