An open API service indexing awesome lists of open source software.

https://github.com/jin-sungdae/jihaksa

기존 지학사 웹사이트를 정보 구조(IA)부터 테이블 스키마까지 전면적으로 새롭게 구성하여 개편했습니다. 교과서, 참고서, 독서평설, 북트리거, 아르볼로 큰 카테고리가 구성되어있습니다. 지학사 프로젝트는 지학사 페이지를 구축으로 시작해서 지학사 QR 시스템, 독서평설 프로모션, 선생님 회원 정보를 통해 티솔루션에 외부 API 개발까지 크게 4개로 개발이 진행되었습니다.
https://github.com/jin-sungdae/jihaksa

jsp mybatis mysql nginx spring-boot tomcat

Last synced: 3 months ago
JSON representation

기존 지학사 웹사이트를 정보 구조(IA)부터 테이블 스키마까지 전면적으로 새롭게 구성하여 개편했습니다. 교과서, 참고서, 독서평설, 북트리거, 아르볼로 큰 카테고리가 구성되어있습니다. 지학사 프로젝트는 지학사 페이지를 구축으로 시작해서 지학사 QR 시스템, 독서평설 프로모션, 선생님 회원 정보를 통해 티솔루션에 외부 API 개발까지 크게 4개로 개발이 진행되었습니다.

Awesome Lists containing this project

README

        

![image](https://github.com/user-attachments/assets/66d35793-bd44-40a1-a927-2ac8437099e1)

사이트 주소 : [지학사](https://www.jihak.co.kr/)

---

# ☑️ 프로젝트 소개

기존 지학사 웹사이트를 정보 구조(IA)부터 테이블 스키마까지 전면적으로 새롭게 구성하여 개편했습니다. 교과서, 참고서, 독서평설, 북트리거, 아르볼로 큰 카테고리가 구성되어 있습니다. 지학사 프로젝트는 지학사 웹페이지 구축으로 시작해서 지학사 QR 시스템 구축, 독서평설 프로모션 결제 프로세스 생성, 외부 API 개발까지 크게 4가지의 개발이 진행되었습니다.

- 프로젝트명 : 지학사 리뉴얼
- 진행 기간 : 2023.8 ~ 2024.7 (12개월, 이 중 8개월이 기획에 소요)
- 💡 **기여도** : 해당 프로젝트의 개발 업무 중 **80%의 할당량**이 단독으로 저에게 주어졌으며, 이를 기한 내에 완수했습니다.
- 주요 업무 : 프로젝트 메인 개발자
- 활용 기술 : Spring Boot, JSP, MySQL, Tomcat, Nginx

💡 학생과 선생님들을 위한 교과서, 참고서 등 관련 서적 구매 이커머스 MVP 제작

---

# ☑️ 프로젝트 진행과정 및 나의 역할

### 1. 서버 세팅, 테이블 설계, API 설계

- 서비스 아키텍처 설계 단계부터 참여하여 프론트엔드 및 백엔드 메인 MVP를 담당
- TSOL 사이트용 외부 API 개발 및 개발/스태이징/운영 서버 인프라 구축 (Bastion, WAS1, WAS2, Nginx 프록시 구성)
- 사용자 서버와 관리자 서버의 API 설계 및 데이터베이스 설계 참여
- CI/CD 파이프라인 구축을 통한 개발 서버 자동 배포

### 2. 서비스 구축

**(1). 주요 서비스 개발**

![스크린샷 2025-03-03 042610](https://github.com/user-attachments/assets/f40e0b96-a3be-462c-a73d-da08e3bcd3f2)

- 교과서, 참고서, 독서평설(독자참여, 정기구독), 북트리거, 아르볼, 마이페이지 개발 참여
- Mail/SMS 전송 시스템 및 스케줄러를 통한 ERP와 지학사 DB 연동 시스템 구축
- 전략 패턴을 사용해 코드 재사용성 증가와 개발 시간 단축
- ERP의 코드 값을 직접 사용할 수 없어, 복합 키를 활용한 매핑 테이블을 생성하고 데이터를 변환하여 활용 가능하도록 처리
- 공통 모듈 개선 및 추가 개발

**(2). 독서 평설 프로모션 결제 시스템 개발 및 PG 연동 구현**

![스크린샷 2025-03-03 042355](https://github.com/user-attachments/assets/b647af6f-447b-478e-9ba1-d073bea45b27)

- 독서평설 프로모션 결제 시스템 프로세스 개발

**(3). 지학사 QR 서비스 전반(서버 세팅, DB 설계, API 개발)을 1인 개발로 완성**

![스크린샷 2025-03-03 043457](https://github.com/user-attachments/assets/fb5ba361-4b77-4471-92dd-610fe1ad5923)

### 3. 서버 안정화 및 유지보수

- 사용자 20만건이상의 데이터 마이그레이션, 데이터 안정화
- 톰캣 모니터링을 위한 로그 관리
- 운영 이슈 대응

---

### ☑️ 프로젝트 성과 및 배운점

> 성과 :
>
- 인덱스 최적화를 통해 검색 성능을 70% 개선하고, 불필요한 풀 테이블 스캔과 임시 테이블 사용을 줄여 효율성을 향상
- 서버 안정화 작업시 GC 문제로 자주 다운되던 Tomcat 서버의 메모리 관리를 최적화하여 안정성 향상
- PG 사 결제 모듈 과 ERP 서버의 통신 에러발생률을 기존 대비 10% 감소
- 캐시를 활용하여 서버 간 불필요한 통신 감소

> 배운점 :
>
- 인덱스를 적재적소에 활용하는 법을 배웠으며 서브쿼리를 파생 테이블로 변환하여 조인하는 방식으로 최적화하는 법도 배울 수 있었습니다.
- 결제 프로세스에서 데이터 이동 방식과 트랜잭션 내 오류 발생 시 롤백 및 오류 처리 방법을 익혔습니다.
- 이 경험을 통해 이커머스 프로젝트에서 서버 인프라를 어떻게 설계해야 하는지에 대한 이해를 넓혔습니다. 특히, 평소에는 DAU가 낮지만 프로모션 진행 시 트래픽이 급증하는 특성을 고려하여, 서버 부하를 최소화할 수 있도록 인프라 구성과 코드, 쿼리 최적화를 진행하는 방법을 익혔습니다.