Skip to content

dpuender/vibe_playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibe Playground - Partner Management System

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.

🚀 Overview

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.

🛠️ Technology Stack

Backend (Java/Spring Boot)

  • 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

Frontend (SvelteKit/TypeScript)

  • 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

📂 Project Structure

.
├── 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)
    └── ...

🏁 Getting Started

Prerequisites

  • Java 21+
  • Node.js 20+
  • Docker (for PostgreSQL & Testcontainers)
  • Maven

1. Infrastructure

Start the local PostgreSQL database using Docker Compose:

docker-compose up -d

2. Backend Setup

Navigate to the server directory and build the project:

cd server
mvn clean install
mvn spring-boot:run

The API will be available at http://localhost:8080.

3. Frontend Setup

Navigate to the client directory, install dependencies, and start the development server:

cd client
npm install
npm run dev

The application will be available at http://localhost:5173.

📖 Documentation & Plans

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.

🧪 Testing

Backend

Run all tests including integration tests (requires Docker):

cd server
mvn test

Frontend

Check logic and component integrity:

cd client
npm run test:unit

Built with ❤️ in the Vibe Playground.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published