Choorai
총 14일 · 하루 30~120분

2주 완주 미션

이 페이지는 초보자가 기술 목록을 훑는 데서 멈추지 않고, 하루에 하나씩 끝낼 수 있게 만든 베타 과정입니다. 목표는 하나입니다. 14일 안에 접속 가능한 배포 URL을 가진 서비스 1개를 완성합니다.

사용 방법

  • 하루에 과제 1개만 수행하세요.
  • 각 미션은 "산출물"과 "완료 기준"을 충족하면 종료합니다.
  • 막히면 해당 미션 카드의 문제 해결/레시피 링크로 바로 이동하세요.

매일 시작할 때 쓰는 기본 프롬프트

복사해서 사용하세요

"너는 초보 개발자를 돕는 시니어 엔지니어다. 현재 내 과제는 Choorai 2주 완주 미션 중 하나이며, 목표는 오늘 과제를 끝내는 것이다. 아래 형식으로만 답해줘: 1) 지금 해야 할 작업 3개 2) 복붙 가능한 명령어/코드 3) 완료 기준 체크리스트 4) 실패했을 때 확인할 순서(최대 3단계) 모호한 설명 대신 바로 실행 가능한 결과만 제시해줘."

같은 형식으로 질문하면 하루 과제의 범위가 흔들리지 않습니다.

2주 완주 진행 현황

0/14 완료

1주차: 첫 배포까지

1일차

아이디어 1개와 완료 기준 정하기

(30분)

목표: 만들 서비스를 한 문장으로 좁히고, 오늘 끝났는지 판단할 기준을 먼저 정합니다.

실행 단계

  1. 사용자 1명과 해결할 문제 1개를 적습니다.
  2. 첫 버전에서 만들 기능을 1개만 고릅니다.
  3. README에 완료 기준 5줄과 확인 방법 1개를 작성합니다.

완료 기준

  • 기능 범위를 핵심 동작 1개로 줄였다
  • 완료 기준 5줄을 작성했다
  • 확인할 명령어 또는 URL 기준을 정했다

산출물: README에 기능 1개, 완료 기준 5줄, 확인 방법 1개 작성

검증 방법: README를 열어 기능 범위, 완료 기준, 확인 방법이 각각 보이는지 확인합니다.

AI 시작 프롬프트

내가 14일 안에 만들 작은 웹서비스 아이디어를 1개로 좁히고 싶어. 핵심 사용자, 기능 1개, 완료 기준 5줄, 확인 방법 1개로 정리해줘.
2일차

첫 화면과 데이터 모양 정하기

(45분)

목표: 화면을 만들기 전에 필요한 화면 2개와 데이터 필드 3~5개를 확정합니다.

실행 단계

  1. 목록/입력/상세 중 이번 버전에 필요한 화면 2개를 고릅니다.
  2. 각 화면에 들어갈 텍스트와 버튼을 적습니다.
  3. 예시 데이터 3개를 JSON 형태로 작성합니다.

완료 기준

  • 화면 2개 이름을 정했다
  • 필드 3~5개와 예시 데이터를 만들었다
  • 버튼을 눌렀을 때 기대 동작을 적었다

산출물: 화면 2개 설명과 예시 데이터 3개

검증 방법: README 또는 메모 파일에서 화면 이름, 필드명, 예시 데이터가 모두 보이는지 확인합니다.

AI 시작 프롬프트

내 서비스의 첫 버전에 필요한 화면 2개와 데이터 필드 3~5개를 정리해줘. 초보자가 바로 만들 수 있게 화면 이름, 필드명, 예시 데이터까지 표로 줘.
3일차

프론트엔드 첫 화면 만들기

(90분)

목표: 예시 데이터를 사용해서 목록 또는 입력 화면 1개를 로컬에서 보이게 만듭니다.

실행 단계

  1. 프론트엔드 프로젝트를 만들거나 기존 프로젝트를 엽니다.
  2. 예시 데이터를 코드에 넣고 목록 또는 입력 화면을 만듭니다.
  3. 로컬 서버를 실행하고 브라우저에서 화면을 확인합니다.

완료 기준

  • `npm run dev`가 정상 실행된다
  • 예시 데이터가 화면에 보인다
  • 핵심 화면 스크린샷 1장을 남겼다

산출물: 로컬에서 보이는 첫 화면 1개

검증 방법: `npm run dev` 실행 후 로컬 URL에서 예시 데이터가 보이는지 확인합니다.

AI 시작 프롬프트

Vite 기반 프론트엔드에서 예시 데이터로 목록 화면 1개를 만들고 싶어. 컴포넌트 구조, 실행 명령어, 확인 기준을 초보자용으로 알려줘.
4일차

입력과 목록 흐름 연결하기

(90분)

목표: 사용자가 입력한 값이 목록에 반영되는 최소 상호작용을 만듭니다.

실행 단계

  1. 입력폼에 필요한 필드를 1~3개만 둡니다.
  2. 제출 버튼을 누르면 목록에 항목이 추가되게 만듭니다.
  3. 빈 값 입력 같은 실패 케이스 1개를 처리합니다.

완료 기준

  • 입력폼이 보인다
  • 제출 후 목록에 새 항목이 추가된다
  • 빈 값 입력을 막거나 안내한다

산출물: 입력하면 목록이 바뀌는 화면

검증 방법: 브라우저에서 값을 입력한 뒤 목록에 바로 반영되는지 확인합니다.

AI 시작 프롬프트

내 프론트엔드 화면에 입력폼을 추가하고, 제출하면 목록에 새 항목이 보이게 만들고 싶어. 상태 관리와 완료 기준을 간단한 코드 중심으로 안내해줘.
5일차

백엔드 API 골격 만들기

(90분)

목표: 프론트엔드가 부를 수 있는 `/health`와 목록/생성 API를 만듭니다.

실행 단계

  1. `/health` 라우트를 먼저 만듭니다.
  2. 목록 조회 API와 생성 API를 만듭니다.
  3. 에러 응답 형식을 간단히 맞춥니다.

완료 기준

  • `GET /health`가 200으로 응답한다
  • 목록/생성 API가 동작한다
  • 에러 응답 형식을 하나로 맞췄다

산출물: `/health`와 핵심 리소스 목록/생성 API

검증 방법: `curl http://localhost:8000/health` 또는 사용하는 포트의 `/health`가 성공하는지 확인합니다.

AI 시작 프롬프트

내 서비스에 맞는 최소 백엔드 API를 만들고 싶어. /health, 목록 조회, 생성 API를 FastAPI 또는 Hono 기준으로 만들고 curl 검증 명령까지 알려줘.
6일차

화면과 API 연결하기

(120분)

목표: 예시 데이터 대신 백엔드 API 응답을 화면에 표시합니다.

실행 단계

  1. 프론트엔드에서 API URL을 환경변수 또는 상수로 분리합니다.
  2. 목록 화면이 API 응답을 불러오게 바꿉니다.
  3. 로딩/실패 메시지를 최소 1개씩 추가합니다.

완료 기준

  • 브라우저에서 실제 데이터가 보인다
  • API 실패 시 안내 문구가 보인다
  • CORS 오류가 없거나 해결 문서로 원인을 좁혔다

산출물: 화면에서 실제 API 데이터를 불러오는 로컬 앱

검증 방법: 브라우저 개발자도구 Network 탭에서 API 요청이 성공하는지 확인합니다.

AI 시작 프롬프트

프론트엔드 화면을 백엔드 API와 연결하고 싶어. fetch 호출 위치, CORS 확인, 성공/실패 화면 처리, 검증 방법을 순서대로 알려줘.
7일차

첫 배포 URL 만들기

(120분)

목표: 프론트엔드를 배포해서 다른 사람이 접속할 수 있는 URL을 확보합니다.

실행 단계

  1. 프론트엔드 빌드 명령을 로컬에서 먼저 실행합니다.
  2. 배포 플랫폼에 프로젝트를 연결합니다.
  3. 배포 URL을 열고 핵심 화면이 보이는지 확인합니다.

완료 기준

  • 로컬 빌드가 성공한다
  • 배포 URL에 접속할 수 있다
  • 배포 URL을 README에 기록했다

산출물: 접속 가능한 프론트엔드 배포 URL 1개

검증 방법: 새 브라우저 탭에서 배포 URL을 열어 첫 화면과 API 연결 상태를 확인합니다.

AI 시작 프롬프트

내 프론트엔드 앱을 처음 배포하려고 해. Cloudflare Pages 또는 Vercel 기준으로 빌드 명령, 환경변수, 배포 후 확인 방법을 알려줘.

2주차: 안정화와 데모 정리

8일차

인증 범위 정하기

(45분)

목표: 이번 버전에 꼭 필요한 인증 수준을 정하고 과한 기능을 제외합니다.

실행 단계

  1. 로그인이 꼭 필요한 화면 1개만 고릅니다.
  2. 쿠키 또는 토큰 중 하나를 선택합니다.
  3. 로그인 실패/성공 후 이동할 화면을 정합니다.

완료 기준

  • 보호할 화면 1개를 정했다
  • 쿠키 또는 토큰 방식을 선택했다
  • 로그인 실패/성공 흐름을 적었다

산출물: 인증 방식과 보호할 화면 1개 결정

검증 방법: README에 인증 방식, 보호 화면, 성공/실패 흐름이 정리됐는지 확인합니다.

AI 시작 프롬프트

내 서비스 첫 버전에 필요한 인증 범위를 정하고 싶어. 로그인 없이 가능한 범위, 쿠키/토큰 선택 기준, 보호할 화면 1개를 표로 정리해줘.
9일차

가장 작은 로그인 흐름 만들기

(120분)

목표: 로그인 성공/실패를 구분하고 보호할 화면 1개에 적용합니다.

실행 단계

  1. 로그인 API 또는 임시 로그인 함수를 만듭니다.
  2. 성공/실패 메시지를 화면에서 구분합니다.
  3. 로그인이 필요한 화면 1개에 접근 제한을 겁니다.

완료 기준

  • 로그인 성공과 실패 화면을 구분했다
  • 쿠키 또는 토큰 저장 방식을 적용했다
  • 로그인이 필요한 화면 1개를 보호했다

산출물: 로그인/로그아웃 또는 세션 쿠키 흐름 1개 구현

검증 방법: 로그인 전에는 보호 화면 접근이 막히고, 로그인 후에는 접근되는지 확인합니다.

AI 시작 프롬프트

내 앱에 가장 작은 로그인 흐름을 추가하고 싶어. 성공/실패 응답, 쿠키 또는 토큰 저장, 보호 라우트 1개 적용을 단계별로 안내해줘.
10일차

테스트와 품질 점검하기

(60분)

목표: 핵심 사용자 흐름이 다시 깨지지 않도록 최소 테스트와 셀프 리뷰를 추가합니다.

실행 단계

  1. 핵심 성공 시나리오 1개를 고릅니다.
  2. 성공/실패 케이스를 각각 1개씩 테스트합니다.
  3. PR 셀프 리뷰 체크리스트를 작성합니다.

완료 기준

  • 성공/실패 케이스를 테스트했다
  • 다시 깨질 수 있는 위험 1개를 기록했다
  • PR 체크리스트를 통과했다

산출물: 핵심 시나리오 테스트 1개 이상과 PR 셀프 리뷰

검증 방법: 테스트 명령 또는 수동 확인 기록이 README/PR 설명에 남아 있는지 확인합니다.

AI 시작 프롬프트

내 앱의 핵심 흐름 1개를 기준으로 최소 테스트와 PR 셀프 리뷰 체크리스트를 만들고 싶어. 성공/실패 케이스와 회귀 위험까지 정리해줘.
11일차

환경변수 분리하기

(90분)

목표: 로컬/배포 환경에서 달라지는 값을 코드 밖으로 분리합니다.

실행 단계

  1. API URL, 공개 키, 비밀 키를 구분합니다.
  2. 로컬 `.env` 예시를 만들고 실제 비밀값은 커밋하지 않습니다.
  3. 배포 플랫폼에도 같은 이름의 환경변수를 등록합니다.

완료 기준

  • 환경별 값 목록을 만들었다
  • `.env.example`을 작성했다
  • 실제 비밀값이 커밋되지 않는다

산출물: 로컬/배포 환경변수 목록과 `.env.example`

검증 방법: `git status`와 `.gitignore`를 확인해 실제 `.env` 파일이 커밋 대상이 아닌지 확인합니다.

AI 시작 프롬프트

내 앱의 환경변수를 정리하고 싶어. 로컬, staging, production에서 분리해야 할 값과 .env 예시, 노출하면 안 되는 값을 표로 정리해줘.
12일차

오류 확인 순서와 되돌리기 정하기

(90분)

목표: 배포 후 문제가 났을 때 확인할 순서와 되돌리는 방법을 미리 정합니다.

실행 단계

  1. 장애가 났을 때 확인할 순서 3단계를 씁니다.
  2. 배포 플랫폼에서 이전 배포로 되돌리는 방법을 확인합니다.
  3. 비용이 갑자기 늘 때 끌 수 있는 기능을 정합니다.

완료 기준

  • 장애 확인 순서 3단계를 작성했다
  • 되돌리는 방법 1개를 기록했다
  • 비용 가드레일 1개를 정했다

산출물: 오류 확인 순서 3단계와 되돌리는 방법 1개

검증 방법: 문서만 보고도 이전 배포로 돌아가는 버튼 또는 명령을 찾을 수 있는지 확인합니다.

AI 시작 프롬프트

내 서비스가 배포 후 깨졌을 때 확인할 순서와 롤백 방법을 정리하고 싶어. 로그, 환경변수, 배포 기록, 이전 버전 복구 순서로 체크리스트를 만들어줘.
13일차

데모 문서 정리하기

(60분)

목표: 누군가에게 공유해도 바로 써볼 수 있게 URL과 사용법을 한 페이지로 정리합니다.

실행 단계

  1. 웹 URL과 API URL을 맨 위에 적습니다.
  2. 사용 시나리오를 3줄로 정리합니다.
  3. 알려진 문제와 확인 방법을 적습니다.

완료 기준

  • 웹/API URL을 공유할 수 있다
  • 사용 시나리오를 3줄로 정리했다
  • 알려진 문제와 확인 방법을 적었다

산출물: 배포 URL, API URL, 사용법, 알려진 문제를 1페이지로 정리

검증 방법: 다른 브라우저 또는 시크릿 창에서 데모 문서의 URL을 그대로 열어 확인합니다.

AI 시작 프롬프트

내 서비스 데모 문서를 만들고 싶어. 웹 URL, API URL, 사용 시나리오, 알려진 문제, 확인 방법을 1페이지 형식으로 정리해줘.
14일차

회고하고 다음 개선 3개 고르기

(60분)

목표: 완성한 결과를 기준으로 다음에 고칠 것 3개만 고르고 2주 과정을 닫습니다.

실행 단계

  1. 잘 된 점과 막혔던 점을 각각 3줄로 씁니다.
  2. 다음 개선 항목을 3개만 고릅니다.
  3. 이번 버전에서 유지할 핵심 기능 1개를 정합니다.

완료 기준

  • 잘 된 점과 막힌 점을 정리했다
  • 다음 개선 항목 3개를 골랐다
  • 완성 URL과 회고 문서를 함께 보관했다

산출물: 회고 1페이지와 다음 개선 항목 3개

검증 방법: README 또는 회고 문서에 배포 URL과 다음 개선 3개가 함께 있는지 확인합니다.

AI 시작 프롬프트

내 2주 완주 결과를 회고하고 싶어. 잘 된 점, 막혔던 점, 다음 개선 3개, 버리지 말아야 할 기능 1개를 간단히 정리해줘.

이 과정이 기존 Map과 다른 점

  • 기술 주제가 아니라 완성 산출물 중심으로 순서가 고정됩니다.
  • 각 단계의 종료 조건이 명확해서 중간에 멈추기 어렵습니다.
  • 실패했을 때 바로 이동할 문제 해결/레시피 문서를 포함합니다.

14일 이후 다음 단계

배포 URL과 회고 문서가 생겼다면 다음은 AI 기능을 서비스 안에 넣는 단계입니다. 하네스로 품질 기준을 만들고, RAG와 Skill을 작은 기능으로 붙인 뒤, Local LLM 선택지는 마지막에 비교하세요.

마지막 업데이트: 2026년 6월 22일 · 버전: v0.0.1

피드백 보내기

입력한 내용으로 새 이슈 페이지를 엽니다.

GitHub 이슈로 보내기