안녕하세요, 빈종이입니다
작은 회사에서 소프트웨어 만들고 있습니다
주로 이면지에 필기를 하는, 아날로그 인간입니다
AI에 대한 지식과 경험 모두 부족합니다
13기가 첫 스터디입니다. 잘 부탁드립니다
시도해본 것들
Cursor의 Notepad에 요구사항 문서(PRD)를 입력하고, Composer 기능(일종의 Chat 기능)을 활용해서 노코드로 독서 기록용 웹앱 만들기
스터디장 성구 님의 Cursor 스터디 1주차 사례실습을 참고했습니다
코드 생성 요청할 때, 스택에 대한 복잡한 조건 덧붙이기
성구님은 HTML, CSS, JS로 웹앱을 개발하는 데모를 보여주셨는데
저는 이후 제품을 고도화하기 쉽도록, 저에게 익숙한 Next.js, CSS Module 스타일로 코드를 작성해달라고 했습니다
최대한 다른 스터디에서 주워들은 것 사용해 보기
POC 스터디에서 배운 내용을 사용해 PRD를 만들어 봤습니다
Cursor에게 좀 더 나은 명령을 제공하기 위해, 프롬프트 스터디에서 배운 감자나라님의 프롬프트 메이커를 사용해 봤습니다
진행 방법
PRD 도출
자세한 내용은 AI로 독서 기록용 Next.js 웹앱 만들기 (2) - 기획 문서와 설계 문서 도출을 참고해 주세요
매일 독서한 내용을 기록하는 서비스를 만들거야. 해당 서비스의 요구사항 분석을 시작할 거야. 이와 관련된 질문을 나에게 하고 내가 답변을 하면 그것을 요약하고 다시 이어서 추가 질문을 반복해.(Thanks to 개발자F 님)ChatGPT에 위 프롬프트를 넣으면 ChatGPT가 저에게 계속 질문을 하면서 제품 요구 사항을 세부적으로 구성해 나갑니다. 저는 어려운 기능을 최대한 제외하고 만들겠다고 했기 때문에, 질문은 세 번 정도, 한번에 서너가지씩 받았습니다.
해당 질문과 응답 과정을 통해 만들어진 PRD는 다음과 같습니다.
한국어 텍스트가 있는 검은 화면
Next.js 프로젝트 세팅
AI와 무관하므로 넘어가겠습니다
Cursor에서 PRD를 Notepad로 저장
Cmd + Shift + I
맥 os x os x os x os x os x os
Cursor Composer에 넣을 프롬프트 만들기 (with 감자나라님의 프롬프트 메이커)
제가 Cursor에다가 직접 명령하면, 제대로 된 결과가 나오지 않는 것 같아서 프롬프트를 만드는 것까지 AI의 도움을 받아봤습니다
두 단계를 거쳤습니다
한국어 텍스트가 있는 검은 화면
결과로 나온 프롬프트는 다음과 같습니다
너는 지금부터 Next.js를 사용하여 반응형 UI/UX 코드를 작성하는 프런트엔드 개발자 역할을 맡아야 해. 너의 목표는 PRD에 기반해 사용 자가 기록을 모아볼 수 있는 달력 뷰와 상세 기록 뷰, 독서 기록을 남길 수 있는 페이지를 구현하는 것이야. 아래 조건을 모두 만족하는 Next.js 기반 UI/UX 코드를 작성해줘. - PRD에 따라 전체 레이아웃을 구성해 줘. - 각 화면을 위한 컴포넌트들을 CSS Module 방식을 활용하여 스타일링 해줘. - 메인 기능은 기록 달력 뷰와 상세 기록 뷰, 독서 기록 입력 페이지, 이메일 로그인 기능, 사용자 개인 설정 페이지야. - 반응형 디자인을 구현하고, 화면 크기에 따라 자동으로 조정될 수 있도록 CSS Module 방식으로 구성해줘. - UI 컴포넌트를 위한 전체 Next.js 코드와 스타일링 코드를 작성해줘.
Cursor Composer에다가 해당 프롬프트 넣고 수행하기
컴퓨터에 있는 한국어 텍스트 편집기의 스크린샷
본인이 생각하는 프로젝트 구조를 먼저 제안해줬습니다. 이때까지만 해도 매우 기특했어요.
많은 파일을 동시에 만들어줬습니다. 과연 제대로 동작할지 의문입니다.
컴퓨터에 있는 파일 목록의 스크린샷
Next.js 프로젝트 구동해서 얼만큼 됐는지 살펴보기
우선 페이지 간 이동 연결(routing)이 하나도 구현되어 있지 않은 상태였습니다
달력 페이지, 기록 페이지 등의 링크가 연결되어 있지 않아, 일일이 URL을 쳐서 접근해야 했습니다.
첫 페이지는 달력입니다.
하지만 달력이 실제로 구현되지는 않았습니다 ㅠ
이게 결과물의 전부라니
두번째 페이지는 기록 목록…
제목만 목록이고 실제로는 기록용 페이지가 나왔습니다
한국어 텍스트가 있는 검은 화면
첫번째 페이지랑 스타일이 맞지 않습니다
제목과 내용이 끝?
책 이름, 읽은 페이지, 기억에 남는 문장, 감상 등을 기록할 수 있으면 좋겠습니다.
세번째 페이지는 로그인 페이지입니다
텅 비어 있네요.......?
한국어로 된 메시지가 있는 검은 화면
네번째 페이지는 없습니다. 유저 세팅 페이지가 만들어지길 기대했는데… 쩝…
다섯 번째 페이지는 기록 상세 페이지인데, 데이터가 없어서 접근이 불가능합니다.
(밤이 깊었으므로) 정말 최소한의 기능만 구현하기 위해 어떤 내용들을 제외하고 어떤 명령을 다시 내릴지 미리 계획을 세워보았습니다.
프로젝트에서 제외시키기
로그인 페이지
유저 세팅 페이지
(한번도 다뤄지지 않은)
이제부터가 핵심입니다
구체화