

편리한 중고차 1:1 거래를 위한 웹 어플리케이션
- 작업내용 : Java MVC Model2 + Oracle 을 이용한 중고차 1:1 거래 플랫폼 개발
- 작업 참여도 : 40%(5인 팀플)
- 나의 작업 : 자동차 정보 Web Scraping(다음 자동차), Database 설계, 중고차 매물등록 및 수정, 중고차 매물 목록 조회, 1:1 채팅, 어드민 매물조회, 어드민 대시보드
- 작업 기간 : 180시간(1개월 프로젝트)
- 작업 범위 : html + css + js + java + OracleDB
- 사용외부소스 :
다음 우편번호 API http://postcode.map.daum.net/guide
- 소프트웨어 구성
Server : Apache Tomcat 8.5 / JDK 1.8
DataBase : Oracle
Language : HTML5 / CSS3 / JavaScript /JAVA / SQL
설명 : 중고차 거래 플랫폼으로, 모든 차량의 세부정보를 제공하고, 사용자의 입력을 최소화하며 개인간 중고차량 거래의 편의성을 제공하는 웹 어플리케이션입니다.
MVC Model2 패턴을 사용하여 웹서버를 구축했으며, Tiles2 를 이용하여 공통의 뷰를 관리합니다.
판매자와 구매자 간의 1:1 채팅은 웹소켓을 사용하여 실시간 대화가 이루어지며, 모든 메시지는 DB에 저장되어 언제든 다시 조회할 수 있습니다.
메인배너 및 매물 상세페이지에서는 여러장의 사진을 FlexSlider 플러그인을 사용하여 노출하였습니다.
부드러운 사용자 경험을 위해 Ajax 통신을 최대한 활용했습니다.
DB 쿼리문의 간소화를 위해 자주 사용하는 쿼리문을 뷰쿼리로 저장했으며, 중고차 매물에 대한 스크랩 수 증/감 과 같은 연쇄적인 DML 작업에 대해서는 트리거를 사용했습니다.
총 26개의 DB 테이블을 설계하였으며, 특히 자동차 정보 테이블 6개가 계층구조를 이루도록 설계하였습니다. 자동차 제조사 > 브랜드 > 모델 > 등급모델 > 세부모델 계층으로 자동차 정보 테이블을 구축하였고, 모델컬러, 외장옵션, 내장옵션, 치수, 성능, 판매정보 또한 모델, 등급모델, 세부모델 테이블을 참조합니다.
자동차 관련 데이터는 국내 자동차 정보에 대한 오픈 API 가 존재하지 않아 Nodejs 로 웹 스크래퍼를 작성하여 데이터베이스화 하였습니다. 이를 기반으로 사용자는 자신의 중고차에 대한 정보를 일일히 입력하지 않아도 차종 선택만으로 쉽게 차량 정보를 등록할 수 있습니다.
중고차 매물 목록 조회 및 검색 부분에서는 고정되지 않은 수의 검색필터 조건을 한개의 컨트롤러로 처리하기 위하여 Map 인터페이스의 Key 와 Value 를 분기처리하여 다이나믹 쿼리를 작성했습니다.