웹 개발 프로젝트 리뷰 (Web Design)

웹 개발 프로젝트 리뷰 (1) - 프로젝트 개요

jay_the_code 2025. 6. 25. 14:00

이번 학기에 진행한 웹 개발 프로젝트 리뷰를
해보려고 합니다.

프로젝트

이번 웹 개발 주제는 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제품을 장바구니에 담고 주문할 수 있다.
      (가입된 고객과 미가입 고객 모두)
  • 조회 Read
    • 고객은 장바구니에 저장된 항목을 조회할 수 있고
      이전 주문기록을 확인할 수 있다.
    • 고객은 주문 번호와 날짜로 이전 주문 기록을 확인할 수 있다.
  • 수정 Update
    • 고객은 주문 세부사항을 주문 전에 수정할 수 있다.
      (ex: 수량)
  • 삭제 Delete
    • 고객은 장바구니 속 제품을 삭제할 수 있다.

4. 결제 관리

  • 생성 Create
    • 고객은 결제 정보는 데이터베이스에 저장된다.
      (결제 방법, 카드 정보, 결제 금액, 날짜)
      (주문과 연결)
  • 조회 Read
    • 고객은 그들의 저장된 결제 정보를 확인할 수 있고 
      날짜와 결제 번호로 결제 정보를 찾을 수 있다.
  • 수정 Update
    • 고객은 그들의 저장된 결제 정보를 주문 확정 전에
      수정할 수 있다.
  • 삭제 Delete
    • 고객은 그들의 저장된 결제정보를 주문 확정 전에
      삭제할 수 있다.

5. 배송 관리

  • 생성 Create
    • 고객은 배송 세부사항을 생성할 수 있다.
      (배송 방법, 주소, 날짜)
      (주문과 연결)
  • 조회 Read
    • 고객은 그들의 저장된 배송 세부사항을 확인할 수 있고
      배송 id와 날짜로 배송 세부사항을 조회할 수 있다.
  • 수정 Update
    • 고객은 그들의 배송 세부사항을 배송이 시작되기 전에
      수정할 수 있다.
  • 삭제 Delete
    • 고객은 배송이 시작되기 전에 배송 세부사항을 삭제할 수 있다.

각 조원은 하나의 주요 기능을 전담하여
총 5가지 기능을 개발하였고, 이를 바탕으로 프로젝트를 완성했습니다.