< 2024.12.01 업로드 >
안녕하세요, SSAFY 12기 싸피셜 기자 안수진입니다!
SSAFY의 1학기는 단순한 학습으로 끝나지 않습니다.
그동안 배운 내용을 종합적으로 적용해보는 최종 관통 프로젝트가 기다리고 있는데요!
말 그대로 1학기 학습 내용을 "관통"하며 실력을 확인하고, 협업 경험을 쌓는 중요한 프로젝트랍니다.
저는 이번 프로젝트에서 전공 Java반으로 참여하며, 부동산과 여행 두 가지 주제 중 하나를 선택해야 했는데요,
조금 더 도전적인 주제를 선택하고 싶어서 부동산 프로젝트를 진행하게 되었어요!
여행 관련 프로젝트는 간접적으로 접해본 경험이 많았던 반면, 부동산은 낯설고 새롭게 배울 것이 많을 것 같아 흥미롭게 시작할 수 있었습니다.
SSAFY의 프로젝트는 페어 프로그래밍 시스템으로 진행되며,
최종 관통 프로젝트 역시 2인 페어로 구성되어 협업을 통해 개발이 이루어졌습니다.
이번 프로젝트는 11월 19일부터 11월 26일까지의 공식 일정으로 진행되었고
마지막 날인 27일에는 관통 PJT 경진대회가 열렸는데요!
저는 팀 대표로 발표를 맡아 프로젝트를 소개하고 결과를 공유하는 영광스러운 경험도 했답니다. 😊
그렇다면, 이번 관통 프로젝트는 어떻게 진행되었고, 어떤 점들이 아쉬웠으며, 무엇을 배웠는지 함께 알아볼까요?
궁금하시다면 끝까지 함께해 주세요! 😊
ZIP은 저와 같은 부동산 초보자도 쉽게 접근할 수 있는 부동산 정보 플랫폼을 개발하는 것을 목표로 삼았습니다.
이를 위해 아래와 같은 체계적인 개발 과정을 거쳤습니다.
1. 데이터베이스 설계 및 개발 환경 구축
처음에는 부동산 데이터를 효율적으로 관리하기 위해 데이터베이스 설계에 많은 시간을 투자했습니다.
약 640만 건 이상의 부동산 실거래 데이터를 다뤄야 했기 때문에, 데이터 처리 속도 최적화가 핵심 과제였습니다.
이를 해결하기 위해 최신 거래 데이터만 저장한 별도의 테이블을 설계하고, 지도 마커 렌더링 최적화를 위한 테이블을 따로 구축했습니다.
SSAFY 1학기 과정에서 배운 Spring Boot, Vue.js, MyBatis, MySQL을 활용해 시스템 구조를 설계하고 개발을 진행했습니다. 또한, Swagger를 이용해 API 명세서를 작성하며 개발 과정을 체계적으로 관리했습니다.
2. 프론트엔드와 백엔드 역할 분담
저희 조는 프론트엔드와 백엔드를 따로 나누지 않고, 기능 단위로 역할을 분담하여 개발을 진행했습니다.
아래는 제가 개발하면서 책임지고 구현했던 기능들 입니다!
👩🏻💻 백엔드
백엔드에서는 Spring Boot를 활용해 다양한 사용자 맞춤형 기능과 시스템 최적화를 구현했습니다.
- 검색 및 필터링: 사용자의 요구에 맞춘 매물 검색과 필터링 기능을 개발하여 검색 정확도와 사용자 경험 개선
- 관심 매물 관리: 사용자가 선호하는 매물을 저장 및 관리할 수 있는 기능 제공
- JWT 인터셉터 적용: API 요청 및 인증 과정에서 JWT를 활용해 보안성 강화
- 자동 데이터 크롤링 및 업데이트: 최신 부동산 정보를 제공하기 위해 뉴스 데이터를 크롤링하고, 이를 자동으로 업데이트하는 기능 구현
- GPT API 기반 부동산 개념 도우미: 초보 사용자를 위해 복잡한 부동산 개념을 쉽게 이해할 수 있는 AI 기반 도우미 개발
- 지도 기반 정보 처리: 대규모 데이터를 처리하기 위해 API 응답 속도를 개선하고, 빠르고 정확한 지도 기반 정보 제공
👩🏻💻 프론트엔드
프론트엔드는 Vue.js를 사용해 사용자 경험(UX)을 극대화할 수 있도록 설계했습니다.
- 직관적인 UI 구성: 초보 사용자도 쉽게 사용할 수 있도록 부동산 정보 검색 및 관리 기능을 직관적으로 설계
- 지도와 연동된 정보 표시: 부동산 관련 정보를 지도와 함께 사이드바 및 모달 창으로 표시하여 사용자가 지도 화면을 효율적으로 활용할 수 있도록 구성
- 검색창 디자인 최적화: 검색창 배경을 투명하게 설정하여 지도 화면이 돋보이도록 UI 디자인 개선
- 지도 데이터 최적화: 대규모 데이터를 효율적으로 처리하기 위해 클러스터링 기술을 적용하고, 지도 마커 데이터를 별도로 관리하여 마커 표시 속도를 2초 이내로 단축
3. ZIP의 주요 기능 및 개발 결과
주요 기능
개발 결과
부동산 실거래가와 사용자의 관심 매물을 한눈에 확인할 수 있는 메인 화면 입니다!!
지도 마커 최적화를 위해 클러스터링을 적용하여, 많은 데이터를 효율적으로 시각화한 모습입니다!
뉴스 및 게시판에서 활용할 수 있는 GPT 기반 부동산 개념 도우미 화면을 통해, 부동산에 대한 복잡한 개념을 쉽게 이해할 수 있습니다!
4. 개발 후기
일주일 이라는 개발 기간은 매우 도전적이었지만, 그만큼 값진 배움과 성취감을 얻을 수 있었습니다.
지도 렌더링 최적화와 대용량 데이터 처리 등 기술적 난관을 해결하면서 기술 역량이 한 단계 성장하는 계기가 되었습니다.
부동산 데이터를 더 창의적으로 활용할 방법을 고민하며, 지도와 데이터를 조화롭게 시각화하는 데 집중했습니다.
특히, 페어와 함께 협력하며 효율적인 업무 분담과 소통의 중요성을 다시 한번 깨달을 수 있었습니다.
아쉬운 점은 GPT API를 활용한 AI 챗봇 기능을 끝내 구현하지 못했다는 것입니다. GPT API는 일회성 요청-응답만 가능하고, 이전 대화를 기억할 수 없다는 점과 실시간 부동산 데이터를 감지할 수 없다는 점이 있어서 실시간으로 정보를 제공하는 데 한계가 있었습니다. 그래서 최종적으로 부동산 개념 도우미 기능으로 변경하여 부동산 관련 개념을 쉽게 이해할 수 있도록 했습니다. 그럼에도 불구하고 전 과정에서 배우고 성장할 수 있었기에 매우 의미 있는 시간이었습니다.
마지막으로, 이번 프로젝트를 함께 진행한 저의 페어에게 무한한 감사를 드립니다.
비록 프로젝트 상은 받지 못했지만, 앞으로도 이런 도전을 즐기며 성장해나가는 개발자가 되고 싶습니다! 😊
👀 SSAFY의 다양한 소식과 이야기를 더 알고 싶다면
📌 SSAFYcial 인스타그램
📌 SSAFY 홈페이지
'SSAFY' 카테고리의 다른 글
[싸피셜이 알려드림: 기술편] DispatcherServlet이 뭘까? (0) | 2024.12.22 |
---|---|
[싸피셜이 알려드림: SSAFY편] 게임으로 평가받는다? 배틀싸피 등장! (2) | 2024.12.22 |
[싸피셜이 알려드림: SSAFY편] SSAFY 1학기 후기 (1) | 2024.12.21 |
[싸피셜이 알려드림: 기술편] Servlet이 뭘까? (0) | 2024.12.21 |
[싸피셜이 알려드림: SSAFY편] 벌써 13기 모집? 알려줄게 SSAFY의 모든 것!! (0) | 2024.12.16 |