The Vibe Playground is a modern, full-stack application designed for efficient Partner and Role management. It features a robust Spring Boot backend and an elegant SvelteKit frontend, both driven by a shared OpenAPI specification.
This repository contains both the client and server components of the Partner Management System:
- Backend (
/server): A Spring Boot application providing a secure REST API. - Frontend (
/client): A SvelteKit application offering a responsive and premium user experience. - API Definition (
partner_api.yaml): The source of truth for the API, used to generate models and clients for both ends.
- Framework: Spring Boot 3
- API: OpenAPI Generator (Delegates & DTOs)
- Security: Spring Security (OAuth2/JWT)
- Persistence: Spring Data JPA with PostgreSQL
- Testing: JUnit 5, Mockito, and Testcontainers for database integration tests
- Utilities: Lombok, MapStruct
- Framework: SvelteKit (with Vite)
- Styling: Tailwind CSS & Material Design 3 principles
- UI Components: Shadcn-Svelte
- Data Fetching: TanStack Query (Svelte Query)
- API Client: Generated from OpenAPI spec
- State Management: Svelte Stores & URL-based state
.
├── partner_api.yaml # Shared OpenAPI Specification
├── compose.yml # Docker Compose for local development (PostgreSQL)
├── client/ # SvelteKit Frontend
│ ├── src/lib/api # Generated API client
│ └── ...
└── server/ # Spring Boot Backend
├── src/main/resources/api.yaml # API spec copy (if applicable)
└── ...
- Java 21+
- Node.js 20+
- Docker (for PostgreSQL & Testcontainers)
- Maven
Start the local PostgreSQL database using Docker Compose:
docker-compose up -dNavigate to the server directory and build the project:
cd server
mvn clean install
mvn spring-boot:runThe API will be available at http://localhost:8080.
Navigate to the client directory, install dependencies, and start the development server:
cd client
npm install
npm run devThe application will be available at http://localhost:5173.
Detailed architectural decisions and implementation roadmaps can be found in the following documents:
- API Plan: Core requirements, resource definitions, and security.
- Server Plan: Backend technology stack and generator setup.
- Client Plan: Frontend architecture, routing, and UI components.
Run all tests including integration tests (requires Docker):
cd server
mvn testCheck logic and component integrity:
cd client
npm run test:unitBuilt with ❤️ in the Vibe Playground.