식품 유통기한 리스트

code++·2025년 1월 27일

일하면서 짜증나서 만든 식품 유통기한 체크리스트를 만들기로 했다.

1. 개요

본 문서는 Spring Boot 3 기반의 유통기한 기록, 문의사항, 보충 리스트 관리 웹/모바일 반응형 웹사이트 구축에 대한 설계 과정, MVC 패턴 적용, 요구사항 정의한다.

2. 시스템 설계

2.1 아키텍처

  • 프론트엔드: 반응형 디자인 (BootStrap)
  • 백엔드: Spring Boot 3 (RESTful API), Spring Data JPA (데이터베이스 연동), Thymeleaf (서버 사이드 렌더링)
  • 데이터베이스: MySQL 또는 H2 (개발 환경)
  • 웹 스토리지: HTML5 Web Storage (localStorage 또는 sessionStorage)

2.2 MVC 패턴

  • Model: 데이터베이스 엔티티 (Entity) 및 데이터 처리 로직 (Service)
  • View: Thymeleaf 템플릿 (웹 페이지)
  • Controller: RESTful API 엔드포인트, 웹 페이지 요청 처리

2.3 주요 기능

  • 유통기한 기록: 제품별 유통기한 등록, 수정, 삭제, 조회
  • 문의사항 관리: 사용자 문의 등록, 답변, 조회
  • 보충 리스트 관리: 유통기한 기반 보충 필요 제품 목록 생성, 보충 수량 기록, 웹 스토리지 연동

3. 요구사항 정의

3.1 기능 요구사항

<1> 식품 리스트 관리

  • 제품 정보 (제품명, 유통기한, 종류) 등록/수정/삭제
  • 제품 정보 검색 기능
  • 페이징 기능
  • 유통기한 임박/만료 제품 목록 조회
    < 변경 UI >
  • 카드로 제품들을 정리

<2> 보충 리스트

  • 보충 리스트 관리
  • 현장에서 보충 수량 입력으로 웹 스토리지 저장
  • 보충 완료 목록 조회
  • 보충 이력 조회
  • 리스트 검색 기능

<3> 문의 사항

  • 문의사항 관리
  • 사용자 문의 등록 (제품, 문의 내용)
  • 관리자 답변 등록
  • 문의 목록 조회 (사용자, 관리자)
  • 문의 검색 기능 (제품, 내용)

3.2 비기능 요구사항

  • 반응형 디자인: 다양한 기기 (PC, 태블릿, 모바일) 지원
  • 성능: 빠른 응답 속도, 대용량 데이터 처리
  • 보안: 사용자 인증/인가, 데이터 암호화
  • 사용성: 직관적인 UI/UX, 쉬운 사용법
  • 확장성: 새로운 기능 추가 용이
  • 유지보수성: 코드 가독성, 유지보수 용이

4. 개발 과정

  • 요구사항 분석 및 설계: 기능 요구사항, 비기능 요구사항 정의, 시스템 아키텍처 설계
  • 데이터베이스 설계: ERD 작성, 테이블 설계
  • 백엔드 개발: Spring Boot 3, Spring Data JPA, RESTful API 개발
  • 프론트엔드 개발: BootStrap -> 반응형 디자인 적용
  • 웹 스토리지 연동: 보충 리스트 데이터 웹 스토리지 저장/관리
  • 테스트: 단위 테스트, 통합 테스트, 시스템 테스트
  • 배포: 서버 배포, 운영 환경 설정
  • 유지보수: 버그 수정, 기능 개선, 성능 최적화

5. 기술 스택

  • Spring Boot 3: 백엔드 프레임워크
  • Data JPA: 데이터베이스 연동
  • Thymeleaf: 서버 사이드 렌더링
  • Bootstrap: 반응형 디자인 프레임워크
  • MySQL/H2: 데이터베이스
  • HTML5 Web Storage: 웹 스토리지

6. 문서화

  • 요구사항 정의서
  • 시스템 설계서
  • 데이터베이스 설계서
  • API 명세서
  • 테스트 계획서
  • 사용자 매뉴얼
profile
일상

0개의 댓글