A modern, full-stack AI prompt management platform with multi-model optimization, community prompt library, and professional-grade editing tools.
Live Demo Β· Documentation Β· Report Bug
NotePrompt is a production-ready AI prompt management platform built with Next.js 15. It provides a comprehensive workspace for creating, organizing, optimizing, and sharing AI prompts across multiple AI providers. Designed for both individual users and teams, it features a dual-mode editor, 17+ AI model integrations, a community-driven public prompt library with 15 curated categories, and a full admin dashboard.
π Live at noteprompt.cn β Deployed on Alibaba Cloud with Docker, Nginx reverse proxy, and SSL.
-
Local revision includes the opt-in
/optimizerworkspace, attachment text extraction (text, PDF, DOCX, spreadsheets and image OCR), bilingual UI settings and provider diagnostics. -
Set
NEXT_PUBLIC_ENABLE_PROMPT_OPTIMIZER_V2=truebefore building to enable the new workspace. Provider settings and paid diagnostic probes require administrator authentication; attachment parsing requires sign-in. -
See source-sync verification and deployment limits before deploying this revision.
-
Built as a complete SaaS-style product rather than a single-page demo: authentication, personal workspace, public library, admin dashboard, deployment scripts, and production reverse proxy are all included.
-
Designed around a real prompt-management workflow: users can draft, organize, optimize, publish, search, and reuse prompts across multiple model providers.
-
Shows full-stack engineering range: Next.js App Router, TypeScript, MySQL, Redis, JWT auth, Docker Compose, Nginx, email verification, and rate limiting.
-
Useful as a portfolio project because it demonstrates product thinking, backend API design, AI-provider integration, and deployable infrastructure in one repository.
- Dual-Mode Editor β Switch between Standard and Professional editing modes with real-time preview
- Folder Organization β Hierarchical folder system with drag-and-drop, custom descriptions, and nested structure
- Version History β Automatic edit tracking with one-click rollback to any previous version
- Global Search β
Ctrl+Kinstant search across all prompts and folders - Tags & Categories β Organize prompts with 15 built-in categories and custom tagging
- 17+ AI Models β Integrated with DeepSeek (V3.2, R1), Kimi (K2.5, K2 Thinking), Qwen (3.5 Plus, 3 Max, Coder Plus), Zhipu GLM (5, 4.7, 4.6, 4.5)
- Multi-Turn Optimization β Iterative prompt refinement through AI-guided conversations
- Model Presets β Creative / Balanced / Precise temperature presets for different use cases
- Auto-Fallback β Seamless failover between providers if one is unavailable
- Public Prompt Library β Browse, search, and collect community-shared prompts
- 15 Curated Categories β Writing, Programming, Education, Marketing, Creative Design, Data Analysis, Life Assistant, Translation, Productivity, AI Art, Academic Research, Social Media, Role-Playing, Content Creation, and more
- Favorites & Likes β Save and engage with the best community prompts
- One-Click Publish β Share your prompts to the public library instantly
- Dark Mode β Light / Dark / System-following theme with smooth transitions
- Admin Dashboard β Full platform management: user management, content moderation, usage statistics, featured content curation
- JWT Authentication β Secure registration/login with bcrypt password hashing (12 rounds)
- Email Verification β Optional email verification with rate-limited, brute-force-protected verification codes
- Rate Limiting β Redis-backed rate limiting on all sensitive endpoints
- Responsive Design β Fully optimized for desktop, tablet, and mobile
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, React 18, TypeScript, Tailwind CSS 4 |
| UI Components | shadcn/ui, Radix UI, Lucide Icons |
| Backend | Next.js App Router API Routes (Node.js) |
| Database | MySQL 8.0 |
| Caching | Redis 7 |
| Authentication | JWT + bcrypt |
| Nodemailer | |
| AI Providers | DeepSeek, Kimi (Moonshot), Qwen (DashScope), Zhipu GLM |
| Deployment | Docker Compose + Nginx + SSL |
- Node.js 24 (the verified runtime and Docker base)
- MySQL >= 8.0
- Redis >= 6 (optional, for rate limiting)
- At least one AI provider API key
git clone https://github.com/computersciencefreshmen/NotePrompt.git
cd NotePromptnpm installcp .env.example .env.localEdit .env.local with your configuration:
# ββ Database βββββββββββββββββββββββββββββββββ
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=agent_report
# ββ Authentication βββββββββββββββββββββββββββ
JWT_SECRET=your_jwt_secret_at_least_32_chars
# ββ Redis (optional) ββββββββββββββββββββββββ
REDIS_HOST=localhost
REDIS_PORT=6379
# ββ AI API Keys (configure at least one) ββββ
DEEPSEEK_API_KEY=sk-xxx
KIMI_API_KEY=sk-xxx
QWEN_API_KEY=sk-xxx
ZHIPU_API_KEY=xxx.xxx
# ββ Email (optional) ββββββββββββββββββββββββ
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_USER=your_email@example.com
SMTP_PASS=your_password
ENABLE_EMAIL_VERIFICATION=falsemysql -u root -p agent_report < database/mysql-schema-new.sqlnpm run devOpen http://localhost:3000 in your browser.
Deploy the full stack (App + MySQL + Redis + Nginx) with a single command:
# 1. Configure production environment
cp .env.example .env.production
# 2. Launch all services
docker-compose up -d
# 3. Access the application
# β http://localhost (or your domain)The Docker Compose stack includes:
- note-prompt-app β Next.js application (port 3001)
- docker_mysql8 β MySQL 8.0 with persistent volume
- note-prompt-redis β Redis 7 for caching and rate limiting
- note-prompt-nginx β Nginx reverse proxy with SSL termination
NotePrompt/
βββ src/
β βββ app/ # Next.js App Router
β β βββ page.tsx # Landing page
β β βββ admin/ # Admin dashboard
β β βββ api/v1/ # RESTful API routes
β β β βββ auth/ # Authentication (register, login, verify-email)
β β β βββ ai/ # AI optimization endpoints
β β β βββ prompts/ # User prompts CRUD
β β β βββ public-prompts/ # Public prompt library
β β β βββ folders/ # Folder management
β β β βββ favorites/ # Favorites system
β β β βββ search/ # Global search
β β β βββ tags/ # Tag management
β β βββ prompts/ # Prompt workspace pages
β β βββ public-prompts/ # Public library pages
β β βββ folders/ # Folder view pages
β β βββ settings/ # User settings
β βββ components/ # Reusable React components
β β βββ ui/ # shadcn/ui base components
β β βββ AIOptimizeDialog.tsx # AI optimization dialog
β β βββ Header.tsx # Navigation header
β β βββ ... # 40+ components
β βββ config/
β β βββ ai.ts # AI provider & model configuration
β βββ contexts/ # React Context providers
β β βββ AuthContext.tsx # JWT authentication state
β β βββ ThemeContext.tsx # Theme management
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utilities & services
β β βββ mysql-database.ts # Database access layer
β β βββ rate-limit.ts # Rate limiting
β β βββ email-service.ts # Email service
β βββ types/ # TypeScript type definitions
βββ database/
β βββ mysql-schema-new.sql # Full database schema
β βββ migrations/ # SQL migrations
βββ nginx/
β βββ nginx.conf # Nginx config (Cloudflare-ready)
βββ docker-compose.yml # Docker Compose orchestration
βββ Dockerfile # Multi-stage production build
βββ package.json
All API endpoints are prefixed with /api/v1/.
| Method | Endpoint | Description |
|---|---|---|
POST |
/auth/register |
Register a new account |
POST |
/auth/login |
Login and receive JWT token |
POST |
/auth/verify-email |
Verify email with 6-digit code |
GET |
/prompts |
List user's prompts |
POST |
/prompts |
Create a new prompt |
PUT |
/prompts/:id |
Update a prompt |
DELETE |
/prompts/:id |
Delete a prompt |
GET |
/public-prompts |
Browse public prompt library |
POST |
/public-prompts |
Publish a prompt |
GET |
/folders |
List user's folders |
POST |
/folders |
Create a new folder |
POST |
/ai/optimize |
AI-powered prompt optimization |
GET |
/search |
Global search |
GET |
/favorites |
List favorites |
POST |
/favorites |
Add to favorites |
GET |
/categories |
List all categories |
GET |
/tags |
List all tags |
| Provider | Models | Highlights |
|---|---|---|
| DeepSeek | V3.2 Chat, R1 (Reasoner) | Top-tier reasoning capability |
| Kimi (Moonshot) | K2.5, K2 Thinking, Moonshot V1 (32K/128K) | 128K context window |
| Qwen (Alibaba) | 3.5 Plus, 3 Max, Coder Plus, Long, 3.5 Flash | Best Chinese language support |
| Zhipu GLM | GLM-5, GLM-4.7, GLM-4.7-Flash, GLM-4.6, GLM-4.5 | 128K context, up to 131072 tokens |
- Password Hashing β bcrypt with 12 salt rounds (OWASP recommended)
- JWT Authentication β Secure token-based auth with httpOnly cookies
- Rate Limiting β Redis-backed rate limiting on auth and API endpoints
- Input Validation β Server-side validation on all user inputs
- CSRF Protection β SameSite cookie policy
- Brute Force Protection β Lockout after 5 failed verification attempts
- Timing-Safe Comparison β
crypto.timingSafeEqualfor verification codes
π Screenshots coming soon β visit noteprompt.cn for the live experience.
This project is licensed under the MIT License.
Built with β€οΈ using Next.js, TypeScript, and Tailwind CSS