SEMIBOX
프로젝트 발표날짜 : 2025. 04. 16

(디지털컨버전스)공공데이터 융합 자바개발자 양성과정A11 1회차
팀장/팀원 | 박**(팀장) : - 프로젝트 전반 관리 - 박스 오픈 로직과 효과 구현 - 마이 페이지 - 다이어리 기능 구현 |
---|---|
김** : - 프로젝트 형상 관리 (GIT허브 사용) - 구매,배송,환불 기능 구현 | |
유** : - 일정 담당 - ERD 관리 - 유저 간 상품 교환 기능 구현 | |
윤** : - DB 담당자 - 박스 구매 페이지 구현 | |
장** : - 이슈 관리 담당 - UI/UX 담당 - 회원 관련 부가 기능 구현 | |
최** : - 이슈 관리 담당 - 회원 관련 주요 기능 구현 | |
개요 | 랜덤한 확률의 박스를 구매해 오픈후 상품을 획득한 상품을 본인이 소유하거나 p2p방식을 이용한 상품 교환이 가능 한 웹 서비스임. 유저간 유기적인 상호작용이 가능하며, UUID를 기반으로 효율적인 데이터 관리가 가능한 비동기 통신 프로젝트 구현 |
구현기능 | 메인페이지 - 배너, 판매하는 박스, 교환 중인 상품들 표시 - 판매하는 박스 클릭시 상품 상세 페이지로 이동 회원 - 회원 관련 CRUD 기능 구현 - 회원 정보 유효성 검사 기능 구현 - 비밀번호 암호화 기능 구현 - 회원 정보 수정 기능 - 회원 비밀번호 변경 기능 - 회원 탈퇴 기능 마이페이지 - 회원의 구매 데이터 (구매 박스 및 획득 상품) 관리 기능 구현 - 다이어리 기능 구현 (랜덤 박스 오픈 시 메모) - 인벤토리 기능 구현 (상품 내역 관리) 랜덤 박스 기능 - 랜덤 박스 관련 CRUD 기능 구현 (구매, 조회, 환불 등) - 키프레임을 이용하여 박스 오픈 시 효과 구현 - 랜덤박스 오픈 시 정보를 팝업창을 통해 사출 - 랜덤박스 정보에 대하여는 UUID 및 세션에 저장된 사용자 정보로 관리 상품 기능 - 상품을 배송 받기 위한 배송지 관리 기능 (배송 신청, 배송 상태 관리) - 유저 간 상품 거래 기능 (등록 상품 조회, 거래 등록, 거래 요청에 대한 수락/거절, 거래 내역 조회) |
설계의 주안점 | - UUID (고유 식별자)를 사용한 각 상품의 고유성 확보 - 사용자 고유키(PK)를 공통적으로 사용하여 데이터 중복 최소화 및 일관성 유지 - 상품 교환을 통한 유저간 상호작용 증가 - 상품 획득 확률 최소를 통한 사용자의 접근 유도 (구매 상품 가격 보장) - 제품의 완성도 향상을 위한 목표 + 배송 관련 기능에 API 연동 및 상세 주소 입력 기능 + 결제 기능 + 소셜 로그인 기능을 통한 사용자의 접근성 향상 + 포인트 기능을 통한 사용자 간의 구매 기능 + 보안성 향상을 위한 HTML 이스케이프 적용 및 토큰 발급 기능, Open API Key 관리 |
사용기술 및 개발환경 |
- 개발 환경 : OS(Windows 10), 브라우저(Chrome) - 개발 언어 : JAVA(17) - 라이브러리/프레임워크 : Servlet, JSP, MyBatis(3.5.16), Maven(3.9.9), Gson(2.10.1), Tomcat(9.0) - 데이터베이스 : Oracle - 개발 툴 : Eclipse, Visual Studio Code |
![]() ![]() |