Initial commit: add FastAPI MVP (모프) and existing web app
Includes FastAPI+Jinja2+HTMX+SQLite implementation with seed categories, plus deployment templates. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
125
PROMPT.txt
Normal file
125
PROMPT.txt
Normal file
@@ -0,0 +1,125 @@
|
||||
당신은 MVP 제작에 특화된 시니어 풀스택 엔지니어입니다.
|
||||
아래 요구사항을 만족하는 프롬프트 공유 커뮤니티 웹 서비스를 설계하고 구현하세요.
|
||||
|
||||
## 1. 서비스 개요
|
||||
- 서비스명: all prompt
|
||||
- 한국어 이름: 모프
|
||||
- 목적: 누구나 쉽게 AI 프롬프트를
|
||||
- 탐색
|
||||
- 등록
|
||||
- 복사
|
||||
- 간단히 평가(좋아요)
|
||||
할 수 있는 초경량 커뮤니티
|
||||
|
||||
## 2. 기술 스택 (최소 구성)
|
||||
- Backend: Python + FastAPI
|
||||
- Frontend: Jinja2 Template + HTMX (React 사용 금지)
|
||||
- DB: SQLite (초기), ORM은 SQLAlchemy
|
||||
- Auth: 로그인 없이 시작 (닉네임 기반, 쿠키 저장)
|
||||
- 실행: `python main.py` 로 바로 실행 가능
|
||||
- 배포 고려하지 않음 (로컬/소규모 서버용)
|
||||
|
||||
## 3. UX / UI 원칙
|
||||
- 매우 단순할 것
|
||||
- 회원가입 없음
|
||||
- 프롬프트 등록은 버튼 한 번
|
||||
- 모바일에서도 읽기 쉬운 UI
|
||||
- Tailwind CDN 사용 (빌드 없음)
|
||||
|
||||
## 4. 핵심 기능
|
||||
### 4.1 프롬프트
|
||||
- 프롬프트 목록 보기
|
||||
- 프롬프트 상세 보기
|
||||
- 프롬프트 등록
|
||||
- 프롬프트 복사 버튼
|
||||
- 좋아요 버튼 (중복 방지: IP 또는 쿠키 기반)
|
||||
|
||||
### 4.2 카테고리
|
||||
- 예시:
|
||||
- 글쓰기
|
||||
- 코딩
|
||||
- 업무 자동화
|
||||
- 이미지 생성
|
||||
- 데이터 분석
|
||||
- 프롬프트는 하나의 카테고리에만 속함
|
||||
|
||||
### 4.3 검색
|
||||
- 제목 + 프롬프트 내용 LIKE 검색
|
||||
- 한 페이지에 20개 노출
|
||||
|
||||
## 5. DB 설계 (반드시 테이블 정의 포함)
|
||||
- host: ncue.net
|
||||
- database: all_prompt
|
||||
- user: ncue
|
||||
- password: ncue5004!
|
||||
- 필요한 테이블은 직접 생성하시오
|
||||
|
||||
### users
|
||||
- id (PK)
|
||||
- nickname (string)
|
||||
- created_at (datetime)
|
||||
|
||||
### categories
|
||||
- id (PK)
|
||||
- name (string)
|
||||
- slug (string)
|
||||
|
||||
### prompts
|
||||
- id (PK)
|
||||
- title (string)
|
||||
- content (text)
|
||||
- description (text, nullable)
|
||||
- category_id (FK)
|
||||
- author_nickname (string)
|
||||
- created_at (datetime)
|
||||
- copy_count (int)
|
||||
|
||||
### likes
|
||||
- id (PK)
|
||||
- prompt_id (FK)
|
||||
- user_identifier (string) # 쿠키 or IP 해시
|
||||
- created_at (datetime)
|
||||
|
||||
## 6. URL 설계
|
||||
- GET / → 프롬프트 리스트
|
||||
- GET /prompt/{id} → 프롬프트 상세
|
||||
- GET /new → 프롬프트 등록 폼
|
||||
- POST /new → 프롬프트 저장
|
||||
- POST /like/{id} → 좋아요
|
||||
- GET /search?q= → 검색
|
||||
|
||||
## 7. 디렉토리 구조
|
||||
- main.py
|
||||
- models.py
|
||||
- database.py
|
||||
- templates/
|
||||
- base.html
|
||||
- index.html
|
||||
- detail.html
|
||||
- new.html
|
||||
- static/
|
||||
- (비워도 됨)
|
||||
|
||||
## 8. 구현 방식
|
||||
- FastAPI + Jinja2 TemplateResponse 사용
|
||||
- 모든 코드는 하나의 저장소에서 바로 실행 가능
|
||||
- migration 도구 사용 금지 (create_all 사용)
|
||||
- 주석을 충분히 작성해 초보자도 이해 가능하게
|
||||
|
||||
## 9. 추가 조건
|
||||
- "나중에 로그인 붙이기 쉬운 구조"로 작성
|
||||
- 코드 가독성 최우선
|
||||
- 불필요한 추상화 금지
|
||||
- Cursor가 파일 단위로 코드를 생성하도록 안내
|
||||
|
||||
## 10. 결과물
|
||||
- 완전 실행 가능한 코드
|
||||
- 실행 방법 설명 포함
|
||||
- 초기 카테고리 seed 코드 포함
|
||||
|
||||
이 요구사항을 기준으로
|
||||
1️⃣ 전체 구조 설명
|
||||
2️⃣ DB 모델 코드
|
||||
3️⃣ main.py
|
||||
4️⃣ 템플릿 파일들
|
||||
을 순서대로 작성하세요.
|
||||
Reference in New Issue
Block a user