생성형 AI를 사용하면서 쌓이는 다양한 프롬프트를 한곳에서 등록하고 검색하며 관리할 수 있는 Python 기반 프롬프트 관리 프로그램입니다.
텍스트 생성, 이미지 생성, 영상 생성, 페르소나, 자동화 등 여러 종류의 프롬프트를 카테고리별로 분류할 수 있으며, 자주 사용하는 프롬프트는 즐겨찾기로 관리할 수 있습니다.
기본적인 프롬프트 관리 기능뿐만 아니라 JSON 파일을 활용한 데이터 영구 저장, 프롬프트 수정·삭제, 조회수 기록, 조회수 TOP 정렬, Markdown 내보내기 기능까지 구현했습니다.
생성형 AI를 활용하다 보면 잘 작동했던 프롬프트가 메모장, 문서, 메신저, ChatGPT 대화 기록 등에 흩어져 필요한 순간에 다시 찾기 어려운 경우가 많습니다.
이 프로젝트는 이러한 문제를 해결하기 위해 프롬프트를 한곳에 저장하고 다음과 같은 기능을 사용할 수 있도록 제작했습니다.
- 프롬프트 등록 및 관리
- 제목 및 내용 기반 검색
- 카테고리별 조회
- 즐겨찾기 등록 및 해제
- 프롬프트 상세 내용 확인
- 프롬프트 수정 및 삭제
- 사용 횟수(조회수) 기록
- 조회수 기준 TOP 목록 확인
- JSON 파일을 이용한 데이터 영구 저장
- 카테고리별 Markdown 파일 내보내기
Python의 리스트, 딕셔너리, 조건문, 반복문, 함수, 파일 입출력 등을 실제 프로그램에 적용하고, Git과 GitHub를 이용해 기능별 변경 이력을 관리하는 것을 목표로 제작했습니다.
| 항목 | 내용 |
|---|---|
| Language | Python 3.10 이상 |
| GUI | Tkinter / ttk |
| Data | JSON |
| Editor | Visual Studio Code |
| Version Control | Git / GitHub |
| OS | Windows |
| External Library | 없음 |
사용한 주요 Python 모듈은 모두 기본 라이브러리입니다.
import tkinter as tk
from tkinter import ttk, messagebox
import tkinter.font as tkFont
import json
import os
import re저장된 프롬프트를 게시판 형태의 목록으로 확인할 수 있습니다.
목록에서는 다음 정보를 확인할 수 있습니다.
- 번호
- 카테고리
- 프롬프트 제목
- 프롬프트 내용 미리보기
- 즐겨찾기 여부
- 조회수
프롬프트를 더블클릭하면 전체 내용을 확인할 수 있습니다.
+ 새 프롬프트 버튼을 이용하여 새로운 프롬프트를 등록할 수 있습니다.
입력 항목:
- 제목
- 카테고리
- 프롬프트 내용
등록된 프롬프트는 JSON 파일에 자동 저장됩니다.
화면 상단의 검색창에 키워드를 입력하면 제목 또는 프롬프트 내용에 해당 키워드가 포함된 데이터를 검색합니다.
예시:
검색어: 광고
검색 결과에는 광고와 관련된 프롬프트만 표시됩니다.
카테고리를 선택하여 원하는 종류의 프롬프트만 확인할 수 있습니다.
기본 카테고리:
- 텍스트 생성
- 이미지 생성
- 영상 생성
- 페르소나
- 자동화
- 기타
목록의 ☆ 또는 ⭐ 아이콘을 클릭하여 즐겨찾기를 추가하거나 해제할 수 있습니다.
즐겨찾기 추가 시:
즐겨찾기에 추가되었습니다.
즐겨찾기 해제 시:
즐겨찾기가 해제되었습니다.
⭐ 즐겨찾기 목록 버튼을 클릭하면 즐겨찾기한 프롬프트만 확인할 수 있으며, 다시 전체 목록으로 돌아갈 수 있습니다.
목록의 프롬프트를 더블클릭하면 다음 정보를 확인할 수 있습니다.
- 제목
- 카테고리
- 즐겨찾기 여부
- 조회수
- 프롬프트 전체 내용
상세 보기를 실행할 때마다 해당 프롬프트의 조회수가 1씩 증가합니다.
목록에서 수정할 프롬프트를 선택한 후 수정 버튼을 누르면 기존 내용을 변경할 수 있습니다.
수정 가능 항목:
- 제목
- 카테고리
- 프롬프트 내용
수정 결과는 JSON 파일에 자동 저장됩니다.
삭제할 프롬프트를 선택한 후 삭제 버튼을 누르면 삭제 여부를 확인한 뒤 데이터를 삭제합니다.
실수로 삭제하는 것을 방지하기 위해 확인 메시지를 표시합니다.
조회수 TOP 버튼을 클릭하면 상세 보기를 많이 한 프롬프트부터 조회수 기준으로 정렬하여 확인할 수 있습니다.
이를 통해 자주 사용하는 프롬프트를 쉽게 파악할 수 있습니다.
프롬프트 데이터는 prompts.json 파일에 저장됩니다.
따라서 프로그램을 종료했다가 다시 실행해도 다음 정보가 유지됩니다.
- 프롬프트 제목
- 프롬프트 내용
- 카테고리
- 즐겨찾기 상태
- 조회수
데이터 예시:
{
"title": "블로그 글 작성 도우미",
"content": "당신은 10년 경력의 전문 블로거입니다...",
"category": "텍스트 생성",
"favorite": true,
"views": 3
}Markdown 내보내기 버튼을 클릭하면 전체 프롬프트를 카테고리별 Markdown 파일로 생성합니다.
예시:
export_markdown/
├─ 텍스트 생성.md
├─ 이미지 생성.md
├─ 영상 생성.md
├─ 페르소나.md
├─ 자동화.md
└─ 기타.md
Markdown 파일에는 다음 정보가 저장됩니다.
- 프롬프트 제목
- 카테고리
- 즐겨찾기 여부
- 조회수
- 프롬프트 전체 내용
PromptManager/
│
├─ main.py
├─ prompts.json
├─ README.md
│
└─ export_markdown/
├─ 텍스트 생성.md
├─ 이미지 생성.md
├─ 영상 생성.md
├─ 페르소나.md
├─ 자동화.md
└─ 기타.md
export_markdown폴더는 Markdown 내보내기 기능을 실행하면 자동으로 생성됩니다.
터미널에서 다음 명령어를 실행합니다.
python --versionPython 3.10 이상인지 확인합니다.
프로젝트 폴더로 이동한 후 다음 명령어를 실행합니다.
python main.py프로그램 창이 실행되면 프롬프트 관리 기능을 사용할 수 있습니다.
- 검색창에 키워드를 입력합니다.
검색버튼을 클릭하거나 Enter 키를 누릅니다.- 제목 또는 내용에 키워드가 포함된 프롬프트가 표시됩니다.
- 목록 오른쪽의
☆를 클릭합니다. - 즐겨찾기에 추가되면
⭐로 변경됩니다. ⭐ 즐겨찾기 목록버튼을 누르면 즐겨찾기한 프롬프트만 확인할 수 있습니다.
- 원하는 프롬프트 행을 더블클릭합니다.
- 상세 내용이 팝업창으로 표시됩니다.
- 상세 보기를 할 때마다 조회수가 증가합니다.
- 목록에서 프롬프트를 선택합니다.
수정또는삭제버튼을 클릭합니다.- 수정한 내용은 즉시 JSON 파일에 반영됩니다.
프로그램에서는 프롬프트 하나를 Python 딕셔너리로 관리하고 전체 프롬프트를 리스트에 저장합니다.
prompts = [
{
"title": "블로그 글 작성 도우미",
"content": "당신은 10년 경력의 전문 블로거입니다...",
"category": "텍스트 생성",
"favorite": True,
"views": 3
},
{
"title": "제품 광고 이미지 생성",
"content": "제품의 특징을 강조한 광고 이미지를 생성해주세요...",
"category": "이미지 생성",
"favorite": False,
"views": 1
}
]- 기본 프롬프트 데이터 등록
- 프롬프트 추가
- 전체 프롬프트 목록
- 카테고리별 조회
- 제목 및 내용 검색
- 프롬프트 상세 보기
- 즐겨찾기 추가 및 해제
- 즐겨찾기 목록
- 기능별 함수 분리
- Tkinter GUI
- JSON 데이터 저장 및 불러오기
- 프롬프트 수정
- 프롬프트 삭제
- 조회수 기록
- 조회수 TOP 정렬
- Markdown 파일 내보내기
- 내용 미리보기
- 스크롤 지원
- JSON 파일 저장
- JSON 파일 불러오기
- 카테고리별 Markdown 파일 내보내기
- Create : 프롬프트 추가
- Read : 목록 및 상세 보기
- Update : 프롬프트 수정
- Delete : 프롬프트 삭제
- 상세 보기 시 조회수 증가
- 조회수 기준 TOP 목록 제공
프로젝트는 Git을 이용하여 기능 단위로 변경 이력을 관리합니다.
주요 Git 명령어:
git init
git add .
git commit -m "커밋 메시지"
git checkout -b feature/prompt-list
git checkout main
git merge feature/prompt-list
git push
git pull커밋 이력 확인:
git log --oneline --graph --all기능을 하나씩 구현할 때마다 커밋하여 개발 과정을 확인할 수 있도록 관리합니다.
프로젝트 초기 설정
기본 프롬프트 데이터 추가
프롬프트 목록 기능 구현
프롬프트 검색 기능 구현
카테고리별 조회 기능 구현
즐겨찾기 기능 구현
프롬프트 상세 보기 구현
JSON 저장 및 불러오기 구현
프롬프트 수정 및 삭제 기능 구현
조회수 및 TOP 정렬 기능 구현
Markdown 내보내기 기능 구현
README 작성
이 프로젝트는 단순히 프롬프트를 출력하는 프로그램이 아니라, 실제로 반복해서 사용할 수 있는 개인용 프롬프트 관리 도구를 목표로 제작했습니다.
Python 기본 문법과 표준 라이브러리를 활용해 데이터 관리 로직을 구현하고, GUI를 통해 사용자가 보다 편리하게 프롬프트를 검색하고 관리할 수 있도록 구성했습니다.
또한 JSON 영구 저장, CRUD, 조회수 기록, Markdown 내보내기 기능을 추가하여 기본 과제 요구사항보다 확장된 형태로 구현했습니다.