PromptCrafter is a web application that helps users create effective AI prompts with structured templates. It uses a modern stack with FastAPI backend and React frontend.
- Structured Prompt Generation: Create well-organized prompts following best practices
- Personalized Templates: Generate prompts with role, task, constraints, output style, and personality
- Advanced Templates: Pre-filled specialized templates for common technical scenarios
- User Accounts: Save, organize, edit, and share your favorite prompts
- Public Prompt Library: Explore prompts shared by the community with search, filtering and pagination
- Tagging System: Organize and discover prompts with a flexible tagging system
- Profile Management: Update user profile and customize account settings
- Rate Limiting: API rate limiting to prevent abuse
- Responsive Design: Modern UI that works well on all devices
- Python 3.12+
- uv (Modern Python package manager)
- Node.js & npm (for Frontend)
- Git
- PostgreSQL or SQLite
-
Clone the repository:
git clone https://github.com/FIBA00/promptCrafter.git cd promptCrafter -
Backend Setup:
cd backend # Install dependencies with uv uv sync # Set up environment variables # Ensure you have a .env file based on your configuration # Run migrations uv run alembic upgrade head # Run the development server uv run fastapi dev main.py
-
Frontend Setup:
(Instructions for React frontend setup)
-
Open your browser and go to http://localhost:8000/docs for the API documentation.
-
Make sure Docker and Docker Compose are installed
-
Run:
docker-compose up -d
-
Visit http://localhost to see the application
promptCrafter/
├── backend/ # FastAPI Backend
│ ├── core/ # Core configuration and models
│ ├── db/ # Database connection
│ ├── migrations/ # Alembic migrations
│ ├── routers/ # API routes/endpoints
│ ├── schema/ # Pydantic schemas
│ ├── services/ # Business logic
│ ├── utility/ # Utility functions
│ ├── main.py # Application entry point
│ ├── pyproject.toml # Python dependencies (uv)
│ └── alembic.ini # Alembic configuration
├── frontend/ # React Frontend (planned/in-progress)
├── __docs__/ # Documentation
└── resources/ # Project resources
PromptCrafter provides a RESTful API. Documentation is automatically generated by FastAPI.
- Swagger UI:
/docs - ReDoc:
/redoc
Endpoint: /api/v1/process_prompt/
Method: POST
Request Body:
{
"role": "AI architect",
"task": "design a prediction engine",
"context": "Startups",
"persona": "nerdy but strategic",
"format": "step-by-step",
"tone": "professional"
}Run the test suite with:
cd backend
uv run pytest- Backend: FastAPI, SQLAlchemy, Pydantic, Alembic, Uvicorn
- Frontend: React
- Database: PostgreSQL (Production), SQLite (Dev)
- Package Manager: uv
- Deployment: Docker
- AI-assisted prompt improvement suggestions
- Export prompts to various formats (PDF, Markdown)
- Prompt collections/folders
- OAuth login options (GitHub, Google)
- Mobile app
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Fraol D. - @FIBA00
Project Link: https://github.com/FIBA00/promptCrafter