HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
💸
10원모아10조❗️
/
📕
전체 스크럼
/
📖
7/18(월) 회의
/주제 기획서 (1)/
주제 기획서 - kante

주제 기획서 - kante

✏️기획 배경 및 동기

  • 개발자들을 위한 명령어로 만들 수 있는 특별한 투두리스트를 제공하고 싶다.
 

🗒️스토리 보드(시나리오)

  • cli명령어에 익숙한 개발자는 command todo list를 통해 작업의 생산성을 높일 수 있다.
  • 마우스를 최소화하여 ToDo List를 작성할 수 있다.
 

📚기능 구현(요구 리스트)

notion image
 
 
  • 일반 모드와 편집모드를 구분한다.
    • esc버튼을 누르면 모드가 변환된다.
    • 입력 모드는 입력 창이 화면에 표시된다.
 
  • mkdir {그룹 이름}
    • 하나의 그룹을 만든다.
    • ex) mkdir EN Complete
 
  • vi {그룹id} {게시글 id - optional}
    • vi {그룹id}
      • 그룹id에 새로운 todo를 추가한다.
      • 비어있는 입력 창이 뜬다.
    • vi {그룹id} {게시글 id}
      • 그룹 id에 게시글 id를 수정한다.
      • 해당 게시글의 수정 창이 뜬다.
    • vi가 켜진 상태에서 esc 버튼이 눌리면 명령어 입력 창이 나온다.
      • q! → 저장하지 않고 종료한다.
      • wq! → 저장하고 종료한다.
    • vi가 켜진 이후에는 단순 텍스트 입력
      • 명령어 사용 x
      • 너무복잡할 것 같음, 프론트에서 커서이동인식이 필요함.
      • 가능하면 구현해도..
      •  
  • mv {게시글 id} {그룹id or 게시글id}
    • mv {게시글 id} {그룹id}
      • 지정한 게시글을 다른 그룹의 최하위로 옮긴다.
    • mv {게시글 id} {게시글 id}
      • 지정한 게시글을 동일 그룹의 다른글과 순서를 바꾼다.
      • 다른 그룹의 글과는 변경할 수 없다.
 
  • rm {게시글 id or 그룹 id}
    • 그룹 id또는 게시글 id를 지정하여 삭제한다.
    • 그룹id를 삭제하는 경우에는 한번 더 알림한다.
    •  

Back

  • 입력은 1개의 API 요청을 받는다.
    • 요청받은 문자열을 파싱하여 명령어를 해석한다.
      • 스페이스와 같은 포맷검사.
      • 실행가능한 명령어인지 검사.
    • 명령어에 맞는 서비스를 호출한다.
    • 서비스를 처리하고 적절한 응답을 내려준다.
 
⇒ 문자열 파싱, 전략 패턴같은것을 도입해보기 좋을것 같다.
 
  • 명령어에 대한 1개의 API요청은 다양한 응답을 가진다.
    •  
ex) post api/command @RequestBody String command
  • command: mkdir group1
    • 201
  • command: vi 1 1
    • 200
    • 1번 그룹의 1번 게시글 데이터 반환
 
  • 소셜로그인과 같은 부가기능 제공
 

Front

  • esc키 이벤트 관리
  • 잘 몰라서 더 못적었습니다. 🥲
 

팀 이름

  • 프로젝트 주제와 연관된 이름이면 좋을것 같다.