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

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

서울을 중심으로 투어할 수 있는 버스를 예약할 수 있는 웹사이트입니다. Spring에서 Spring Boot로 전환하는 작업을 진행하였으며, 리뉴얼 과정에서 신규 서비스도 추가되었습니다.
https://github.com/jin-sungdae/citybus

jsp mybatis nginx postgresql redis spring spring-boot tomcat

Last synced: 3 months ago
JSON representation

서울을 중심으로 투어할 수 있는 버스를 예약할 수 있는 웹사이트입니다. Spring에서 Spring Boot로 전환하는 작업을 진행하였으며, 리뉴얼 과정에서 신규 서비스도 추가되었습니다.

Awesome Lists containing this project

README

        

![시티버스 스크린샷](https://github.com/user-attachments/assets/101aba17-30ac-4138-8ec8-bfd7b1d6e6e4)

주소 : [노란풍선 시티버스](https://www.seoulcitytourbus.co.kr/)

---

# ☑️ 프로젝트 소개

서울을 중심으로 투어할 수 있는 버스를 예약할 수 있는 웹사이트입니다.

Spring에서 Spring Boot로 전환하는 작업을 진행하였으며, 리뉴얼 과정에서 신규 서비스도 추가되었습니다.

- 프로젝트명 : 노란풍선 시티버스 리뉴얼
- 진행 기간 : 2023.11 ~ 2024.1 (3 개월)
- 💡 **기여도** : 해당 프로젝트의 개발 업무 중 **20% 할당량**이 저에게 주어졌으며, 이를 기한 내에 완수했습니다.
- 주요 업무 : 팀원
- 활용 기술 or 핵심 역량 : Spring Boot, Spring, JSP, postgresql, Redis

💡 프로젝트 핵심 주제를 간단하게 한 문장으로 적어주세요!

---

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

### 1. 사용자 페이지 기능 개선 및 코드 리팩토링

![스크린샷 2025-03-03 132519](https://github.com/user-attachments/assets/d7dfd011-270b-41e8-a55f-d6f882ccf7f4)

- 메인 페이지 로딩 속도를 최적화하기 위해 이미지 Lazy Loading을 적용하고, Redis 캐싱을 활용하여 데이터 조회
- 기존 인메모리 캐시에서 Redis 캐시로 변경하여, 관리자 페이지에서 데이터 업데이트 시 사용자 페이지에도 변경 사항이 반영될 수 있도록 개선
- 불필요한 트랜잭션 생성을 방지하고, 트랜잭션 컨텍스트를 하나로 통합하여 데이터 처리 성능 개선
- 중복된 로직을 제거하고 코드 구조를 단순화하여 가독성과 효율성을 향상

---

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

> 성과 :
>
- 불필요한 트랜잭션 생성을 방지하고 트랜잭션 컨텍스트를 하나로 통합하여 쿼리 실행 속도를 800ms → 23ms로 단축
- Lazy Loading을 적용하여 클라이언트 렌더링 성능을 최적화하고, Redis 캐싱을 활용하여 서버 응답 속도를 개선함으로써, 메인 페이지 로딩 속도를 81% 단축

> 배운점 :
>
- 불필요한 트랜잭션 오버헤드를 줄이고 성능을 최적화 하는 방법을 배웠습니다.
- 캐시 히트율 최적화뿐만 아니라, 실시간 데이터 반영을 위한 캐시 동기화 기법을 학습하고, 이를 Redis 기반으로 구현하는 방법을 익혔습니다