[프로젝트] 간단한 CRM 시스템 — 기획 (MVP)

Nolrimbo·2025년 9월 18일

포트폴리오

목록 보기
18/21

핵심 요약

  • 📌 범위: 고객(Customer), 미팅(Meeting), 리마인더(Reminder)
  • 🎯 목표: 고객 관리 + 미팅 기록 + 팔로업(리마인더)을 최소 기능으로 빠르게 운영
  • 🧱 스택: Spring Boot(JPA/Validation) + MariaDB + Vue 3(Vite/Pinia/Router)
  • 🔍 MVP 포인트: 검색·정렬·페이징, “다가올 리마인더(7일)”, 리마인더 완료 처리

기능 개요

1) 고객 관리

  • 고객 등록·수정·삭제
  • 목록 검색(이름/이메일/전화), 정렬(이름/최근 업데이트), 페이징
  • 담당자(owner)는 MVP에서는 텍스트 입력으로 간단 처리

2) 미팅 기록

  • 일시, 제목, 메모 저장
  • 고객별 미팅 목록(최신순)

3) 리마인더

  • 고객별 리마인더 생성(마감일, 메모)
  • 상태: PENDING / DONE (완료 시 완료일시 기록)
  • “다가올 리마인더”: 오늘부터 7일 이내 마감 예정인 항목

데이터 모델(ERD 요약)

  • Customer
    • 필드: id, type(COMPARTMENT: COMPANY 또는 PERSON), name, email, phone, owner, createdAt, updatedAt
  • Meeting
    • 필드: id, customerId, meetingAt(일시), title, notes, createdAt
  • Reminder
    • 필드: id, customerId, dueDate(마감일), note, status(PENDING/DONE), doneAt, createdAt

API 개요

  • Customers
    • 생성: POST /api/customers
    • 목록: GET /api/customers (검색 q, 정렬 sort, 페이지 page/size 지원)
    • 상세: GET /api/customers/{id}
    • 수정: PUT /api/customers/{id}
    • 삭제: DELETE /api/customers/{id}
  • Meetings
    • 생성: POST /api/meetings
    • 고객별 목록: GET /api/customers/{id}/meetings (페이지/정렬 지원)
    • 삭제: DELETE /api/meetings/{id}
  • Reminders
    • 생성: POST /api/reminders
    • 고객별 목록: GET /api/customers/{id}/reminders
    • 다가올 리마인더: GET /api/reminders/upcoming (days 기본 7)
    • 완료 처리: PATCH /api/reminders/{id}/done
    • 수정(마감일/메모): PATCH /api/reminders/{id}
    • 삭제: DELETE /api/reminders/{id}

MVP에서는 인증 제외(차기 단계에서 JWT 확장 가능)


기술 스택

  • Backend: Spring Boot, Spring Web, Spring Data JPA, Validation, Lombok, MariaDB Driver, Springdoc OpenAPI
  • DB: MariaDB
  • Frontend: Vue 3, Vite, Pinia, Vue Router, Axios, Day.js

화면 스케치

  • Dashboard: 다가올 리마인더(7일), 최근 미팅
  • CustomersList: 검색/정렬/페이징
  • CustomerDetail: 기본 정보 + (탭) 미팅/리마인더
  • Reminders: 상태(PENDING/DONE) 및 기간 필터

로드맵

  1. 백엔드 스켈레톤 + CRUD + 리마인더 upcoming/done
  2. 프론트 셋업(Vite/Vue/Pinia/Router/Axios) + Dashboard → Customers → Detail 순 개발
  3. 예외·검증, 로딩/빈 상태/에러 UI 다듬기
  4. (선택) JWT 인증, 파일 첨부, 외부 알림 연동
profile
Java 개발자 | 사이드 프로젝트 마니아 | GPT 기반 자동화 툴 연구 중 기술 리뷰, 개발일지

0개의 댓글