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:
56
README.md
Normal file
56
README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# all prompt (모프)
|
||||
|
||||
AI 프롬프트 공유 커뮤니티 플랫폼. 나무위키처럼 **대상(Entity) 중심으로 문서를 탐색**하다가 프롬프트를 발견/이해/기여할 수 있게 설계한다.
|
||||
|
||||
## 핵심 컨셉
|
||||
|
||||
- **Entity(대상) 중심 구조**: 모든 프롬프트는 특정 Entity 문서에 귀속된다.
|
||||
- **프롬프트는 문서(위키) 형태**: 원문 + 설명 + 예시 + 모델 + 태그 + 버전 히스토리 + 리믹스(파생).
|
||||
- **권한 모델**
|
||||
- 비회원: 열람
|
||||
- 회원: 등록/댓글/좋아요/북마크
|
||||
- 기여자: 수정 제안(리비전 생성)
|
||||
- 관리자: 승인/롤백/신고 처리
|
||||
|
||||
## DB 스키마
|
||||
|
||||
`db/schema.sql`에 PostgreSQL DDL이 있으며, `prisma/schema.prisma`는 동일 구조의 Prisma 매핑이다.
|
||||
|
||||
### 원격 DB 적용(권장: 로컬에서 실행)
|
||||
|
||||
보안상 이 저장소/문서에는 비밀번호를 포함하지 않는다. 아래처럼 환경변수로 전달해서 실행한다.
|
||||
|
||||
```bash
|
||||
export PGPASSWORD='<password>'
|
||||
psql -h ncue.net -U ncue -d all_prompt -f db/schema.sql
|
||||
```
|
||||
|
||||
## 도커로 운영(ubuntu 22.04)
|
||||
|
||||
루트에 `docker-compose.yml`, `Caddyfile`이 있으며 **HTTPS 포함**으로 `prompt.ncue.net`을 바로 띄울 수 있다.
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# .env에서 DATABASE_URL, CADDY_EMAIL, (필요 시) PGPASSWORD 채우기
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
스키마/시드(필요 시 1회):
|
||||
|
||||
```bash
|
||||
docker compose --profile init run --rm db_init
|
||||
docker compose --profile init run --rm db_seed
|
||||
```
|
||||
|
||||
## 기술 스택(가정)
|
||||
|
||||
- Frontend: Next.js (App Router)
|
||||
- Backend: Next.js API(Route Handlers) 또는 NestJS
|
||||
- DB: PostgreSQL
|
||||
- ORM: Prisma
|
||||
- Auth: OAuth + Email
|
||||
|
||||
## 폴더 구조(예시)
|
||||
|
||||
`docs/architecture.md` 참고.
|
||||
|
||||
Reference in New Issue
Block a user