PromptLab is a full-stack application for creating, managing, and collaborating on AI prompts. It is designed to help individuals and teams organize prompts, track changes across versions, and evaluate their effectiveness in a structured way.
The project consists of a Spring Boot backend, a React (Vite) frontend, and an H2 database (at the moment; for future updates it is planned to use MongoDB). Currently working on orchestrating using Docker.
The main idea behind PromptLab is to provide a simple but structured environment for prompt engineering. Users can create workspaces, add prompts, update and version them over time, and collaborate with others.
Core areas of the system include:
- Workspace organization
- Prompt creation and versioning
- Prompt evaluation
- Collaboration between users
- Java 17
- Spring Boot
- MongoDB
- Maven
- React
- Vite
- Axios
- React Router
PromptLab/
│
├── backend/
│ ├── config/
│ ├── dto/
│ ├── model/
│ ├── repository/
│ ├── service/
│ ├── web/
│ └── resources/
│
├── frontend/
│ ├── api/
│ ├── components/
│ ├── hooks/
│ └── pages/
│
└── README.md
Make sure you have the following installed:
- Java 17 or higher
- Node.js 18 or higher
- MongoDB
- Maven
- Docker (optional, for containerized setup)
From the backend folder:
mvn clean install
mvn spring-boot:runThe backend runs on: http://localhost:8080
From the frontend folder:
npm install
npm run devThe frontend runs on: http://localhost:5173
If enabled in your Spring Boot config, the H2 console is available at:
http://localhost:8080/h2-console
MongoDB should be running locally at:
mongodb://localhost:27017
To run the entire project:
docker-compose up --buildThis starts:
- Backend service
- Frontend service
- MongoDB
- The backend follows a standard layered architecture: controller, service, repository, and model separation.
- DTOs are used for request/response separation.
- The frontend communicates with the backend through REST APIs.