No description
  • TypeScript 80.1%
  • Java 18.8%
  • HTML 0.6%
  • Vue 0.5%
Find a file
Alparslan Yalcin 47e8926cd5 add README
2026-07-20 23:20:10 +02:00
.quarkus/cli/plugins initial commit 2026-07-19 20:46:22 +02:00
backend add frontend structure 2026-07-20 23:17:06 +02:00
frontend add frontend structure 2026-07-20 23:17:06 +02:00
node_modules/.cache/prettier/.prettier-caches add frontend structure 2026-07-20 23:17:06 +02:00
.gitignore Initial commit 2026-07-19 18:21:38 +00:00
LICENSE Initial commit 2026-07-19 18:21:38 +00:00
README.md add README 2026-07-20 23:20:10 +02:00

Chess Position Library

Chess Position Library is a web application for collecting, organizing, and displaying chess positions.

The project is intended primarily as a personal tool for chess coaching. Positions can originate from games, training material, manually collected examples, or original analysis. Over time, the application will support categorization, tagging, searching, and browser-based visualization of positions.

Current status

The project is in an early MVP stage.

The backend currently provides CRUD operations for chess positions:

  • Create a position
  • Retrieve all positions
  • Retrieve a position by ID
  • Update a position
  • Delete a position

The frontend has been initialized and will consume a generated TypeScript client based on the backend's OpenAPI specification.

Technology stack

Backend

  • Java 25
  • Quarkus
  • Quarkus REST
  • Hibernate ORM with Panache
  • PostgreSQL
  • Jakarta Validation
  • SmallRye OpenAPI
  • Maven

The backend follows a code-first OpenAPI approach. The Java REST API is the source of truth, and SmallRye OpenAPI generates the OpenAPI specification.

Frontend

  • Vue 3
  • TypeScript
  • Vite
  • Vue Router
  • OpenAPI Generator
  • npm

The frontend API client is generated from the OpenAPI specification produced by the backend.

Infrastructure

Planned production infrastructure:

  • Docker
  • Forgejo
  • Forgejo Actions
  • Forgejo Container Registry
  • Caddy
  • PostgreSQL
  • chess.alparslanyalcin.de

Repository structure

chess-position-library/
├── backend/
│   ├── src/
│   ├── pom.xml
│   ├── mvnw
│   └── mvnw.cmd
│
├── frontend/
│   ├── openapi/
│   │   └── openapi.yaml
│   ├── src/
│   │   ├── api/
│   │   │   └── generated/
│   │   ├── features/
│   │   │   └── positions/
│   │   │       ├── components/
│   │   │       ├── composables/
│   │   │       └── views/
│   │   ├── router/
│   │   └── shared/
│   └── package.json
│
└── README.md