# all prompt (모프) AI 프롬프트 공유 커뮤니티 플랫폼. 나무위키처럼 **대상(Entity) 중심으로 문서를 탐색**하다가 프롬프트를 발견/이해/기여할 수 있게 설계한다. ## 핵심 컨셉 - **Entity(대상) 중심 구조**: 모든 프롬프트는 특정 Entity 문서에 귀속된다. - **프롬프트는 문서(위키) 형태**: 원문 + 설명 + 예시 + 모델 + 태그 + 버전 히스토리 + 리믹스(파생). - **권한 모델** - 비회원: 열람 - 회원: 등록/댓글/좋아요/북마크 - 기여자: 수정 제안(리비전 생성) - 관리자: 승인/롤백/신고 처리 ## DB 스키마 `db/schema.sql`에 PostgreSQL DDL이 있으며, `prisma/schema.prisma`는 동일 구조의 Prisma 매핑이다. ### 원격 DB 적용(권장: 로컬에서 실행) 보안상 이 저장소/문서에는 비밀번호를 포함하지 않는다. 아래처럼 환경변수로 전달해서 실행한다. ```bash export PGPASSWORD='' 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` 참고.