Jan Kavka

fullstack web developer
🎵 Website for a Primary Art School

Full-stack developer — REST API backend + React SPA frontend

A comprehensive web application for a primary art school, built as a Spring Boot REST API backend with a single-page React frontend. The public portal offers school information and history, study focus, entrance exams, music theory and group training, school fees, staff and management listings, achievements by school year, photo galleries with a lightbox, a video gallery, an event calendar integrated with the Google Calendar API, PDF documents, a notice board with annual reports, and site-wide search via Google Programmable Search. A protected admin section (cookie-based auth, ADMIN role, BCrypt) provides full CRUD management of all content, including the homepage hero carousel. The database schema is versioned with Liquibase; deployment runs on Docker with an Nginx reverse proxy, Let's Encrypt certificates, and CI/CD via GitHub Actions.

Java 21 Spring Boot 3.4 Spring Security BCrypt Spring Data JPA Hibernate Liquibase MySQL 8 MapStruct Lombok Apache PDFBox Google Calendar API YouTube API Google Programmable Search React 19 Vite 6 React Router 7 React-Bootstrap Bootstrap 5 Bootstrap Icons TinyMCE react-lightbox Sass Docker Docker Compose Nginx Let's Encrypt GitHub Actions
🎸 Musician Portfolio — Musician Portfolio Manager

Full-stack developer — portfolio project

A web application for managing a musician's portfolio. The public-facing site includes a photo gallery with lightbox, YouTube video embeds, projects, concerts, and contacts. An admin panel provides full CRUD for all sections, user profile management, and password reset via email.

Java 21 Spring Boot Thymeleaf Spring Security MySQL Liquibase Spring Data JPA MapStruct Lombok TinyMCE Docker
🏟️ Reservation App — Tennis Court Booking System

Full-stack developer — portfolio project

A full-stack reservation system for tennis courts. The Spring Boot backend handles management of training bookings, players, coaches, groups, pricing rules, and prepaid packages. It also generates PDF invoices, QR codes, and sends SMS/email notifications. The frontend is built with React 19 and TypeScript, featuring a public-facing booking interface and a full-featured admin panel for managing the entire system.

Java 17 Spring Boot Spring Security PostgreSQL Liquibase JWT MapStruct Lombok iText (PDF) ZXing Pingram Docker React 19 TypeScript React Router v7 TanStack Query TanStack Form Vite React Bootstrap TinyMCE React Lightbox JUnit Jupiter Mockito Spring Test
🔍 Searching Tool

Full-stack developer

A web application for searching via Google Custom Search API. The user enters a keyword, the backend queries the API, and the frontend displays only organic results from the first page. Results can be downloaded as a structured JSON file with a single click.

Spring Boot JavaScript Docker JUnit Jupiter Mockito HTML/CSS
📅 Reactive Calendar in React

Frontend developer

A fully responsive and dynamic calendar component built with React. Provides an intuitive grid-based event view for desktop and a streamlined agenda-style layout for mobile devices.

React React-Bootstrap Tabler
📑 Accounting / Invoice Management System

Full-stack developer

A web application for managing invoices and company records. The project involved database design, backend logic implementation, and a frontend interface for data management, including PDF document generation and QR code processing.

Java Spring Boot Hibernate (JPA) Mapstruct Lombok MySQL Apache PDFBox ZXing Bootstrap