이번 학기에 진행한 웹 개발 프로젝트 리뷰를
해보려고 합니다.
프로젝트
이번 웹 개발 주제는 IoT제품을 판매하는
온라인 커머스 웹사이트 제작이었습니다.
조원은 총 5명
전체 프로젝트 기간은 9주로 진행하였습니다.
조원들의 개발 경험은 다음과 같았으며,
대체적으로 실무 개발 경험이 거의 없는 상태에서
협업을 진행하였습니다.
A: 데이터베이스 SQL만 경험 있음
B: 코딩 경험 없음
C: 자바, HTML, CSS 경험 유
D: 자바, HTML, CSS 경험 유
E: 자바, HTML, CSS 경험 있으나 미흠
기술 스택 (Tech Stack)
이번 프로젝트는 다음과 같은 주요 기술을
기반으로 개발했습니다.
- Frontend: HTML, CSS
- Backend: JSP (JavaServerPage)
- Database: SQLite
- 툴: VSCode, Github
- 설계 패턴: MVC(Model View Controller)
이번 과제의 제한 사항이 JSP, CSS, SQLite를 제외한
다른 기술을 사용할 수 없었기에 Javascript와 같은
기술들은 전혀 사용하지 않고 개발해야 했습니다.
프로젝트 구조
이 프로젝트는 MVC(Model View Controller) 구조로
구성하여 코드를 역할별로 분리하고 코드의 유지보수성을
높였습니다.
- Model: Database 연동 및 비즈니스 로직
- View: JSP 사용자 인터페이스
- Controller: 사용자 요청 처리 및 코드 흐름 제어
기능 구현
이 프로젝트에서 구현한 모든 기능들은 기본적으로
정보를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)
할 수 있는 CRUD 기능을 기반으로 합니다.
1. 온라인 사용자 접근 관리 (Online User Access Management)
- 생성 Create
- 고객과 직원 모두 회원가입이 가능해야 한다.
(회원가입 양식: 이름, 이메일(=유저네임), 비밀번호, 핸드폰 번호) - 고객과 직원 모두 접속 기록이 저장되어야 한다.
(접속 기록 양식: 유저 id, 로그인 날짜/시간, 로그아웃 날짜/시간)
- 고객과 직원 모두 회원가입이 가능해야 한다.
- 조회 Read
- 가입된 고객과 직원 모두 자신의 세부정보를 확인할 수 있어야 한다.
- 가입된 고객과 직원은 로그인과 로그아웃이 가능해야 한다.
- 가입된 고객과 직원은 접속기록을 확인하고 날짜에 기반해서
접속기록을 찾을 수 있어야 한다.
- 수정 Update
- 가입된 고객과 직원은 그들의 세부정보를 수정할 수 있어야 한다.
- 가입된 고객과 직원은 접속기록을 수정할 수 없다.
- 삭제 Delete
- 가입된 유저는 자신의 계정을 삭제할 수 있다.
- 가입된 유저는 자신의 접속기록을 삭제할 수 없다.
2. IoT 제품 목록 관리
- 생성 Create
- 직원은 데이터베이스에 IoT제품을 추가할 수 있다.
- 조회 Read
- 고객과 직원은 IoT 제품리스트를 확인할 수 있다.
- 고객과 직원은 제품 종류와 이름으로 제품을 검색할 수 있다.
- 수정 Update
- 직원은 IoT 제품 정보를 수정할 수 있다.
- 삭제 Delete
- 직원은 IoT제품 정보를 삭제할 수 있다.
3. 주문 관리
- 생성 Create
- 고객은 IoT제품을 장바구니에 담고 주문할 수 있다.
(가입된 고객과 미가입 고객 모두)
- 고객은 IoT제품을 장바구니에 담고 주문할 수 있다.
- 조회 Read
- 고객은 장바구니에 저장된 항목을 조회할 수 있고
이전 주문기록을 확인할 수 있다. - 고객은 주문 번호와 날짜로 이전 주문 기록을 확인할 수 있다.
- 고객은 장바구니에 저장된 항목을 조회할 수 있고
- 수정 Update
- 고객은 주문 세부사항을 주문 전에 수정할 수 있다.
(ex: 수량)
- 고객은 주문 세부사항을 주문 전에 수정할 수 있다.
- 삭제 Delete
- 고객은 장바구니 속 제품을 삭제할 수 있다.
4. 결제 관리
- 생성 Create
- 고객은 결제 정보는 데이터베이스에 저장된다.
(결제 방법, 카드 정보, 결제 금액, 날짜)
(주문과 연결)
- 고객은 결제 정보는 데이터베이스에 저장된다.
- 조회 Read
- 고객은 그들의 저장된 결제 정보를 확인할 수 있고
날짜와 결제 번호로 결제 정보를 찾을 수 있다.
- 고객은 그들의 저장된 결제 정보를 확인할 수 있고
- 수정 Update
- 고객은 그들의 저장된 결제 정보를 주문 확정 전에
수정할 수 있다.
- 고객은 그들의 저장된 결제 정보를 주문 확정 전에
- 삭제 Delete
- 고객은 그들의 저장된 결제정보를 주문 확정 전에
삭제할 수 있다.
- 고객은 그들의 저장된 결제정보를 주문 확정 전에
5. 배송 관리
- 생성 Create
- 고객은 배송 세부사항을 생성할 수 있다.
(배송 방법, 주소, 날짜)
(주문과 연결)
- 고객은 배송 세부사항을 생성할 수 있다.
- 조회 Read
- 고객은 그들의 저장된 배송 세부사항을 확인할 수 있고
배송 id와 날짜로 배송 세부사항을 조회할 수 있다.
- 고객은 그들의 저장된 배송 세부사항을 확인할 수 있고
- 수정 Update
- 고객은 그들의 배송 세부사항을 배송이 시작되기 전에
수정할 수 있다.
- 고객은 그들의 배송 세부사항을 배송이 시작되기 전에
- 삭제 Delete
- 고객은 배송이 시작되기 전에 배송 세부사항을 삭제할 수 있다.
각 조원은 하나의 주요 기능을 전담하여
총 5가지 기능을 개발하였고, 이를 바탕으로 프로젝트를 완성했습니다.
'웹 개발 프로젝트 리뷰 (Web Design)' 카테고리의 다른 글
웹 개발 프로젝트 리뷰 (5) - JSP & Servlet (0) | 2025.06.29 |
---|---|
웹 개발 프로젝트 리뷰 (4) - 세션 (Session) (0) | 2025.06.28 |
웹 개발 프로젝트 리뷰 (3) - JDBC & Prepared Statement (2) | 2025.06.27 |
웹 개발 프로젝트 리뷰 (2) - 개인 기능 구현 (2) | 2025.06.26 |