Portfolio

Java · Server-rendered MVC Monolith

File Manager

A web application that gives every user a private space for storing and organizing files. Users can register, sign in, upload files, manage folders, and maintain their profile and avatar from a responsive dashboard. Spring Security protects sessions and resource ownership, while JPA stores file metadata. Thymeleaf renders the interface on the server and Tailwind CSS keeps the experience responsive.

Browser requests flow through Spring MVC controllers, services, and Spring Data repositories into PostgreSQL, while binary files live in dedicated storage. Thymeleaf renders HTML on the server and Spring Security isolates each user's resources. Controller, service, and repository boundaries keep presentation and persistence separate.

Tech stack

Java 21Spring Boot 3Spring MVCSpring SecuritySpring Data JPAThymeleafTailwind CSSJavaScriptPostgreSQLMavenLombokJUnit

Architecture

Server-rendered MVC Monolith

Browser requests flow through Spring MVC controllers, services, and Spring Data repositories into PostgreSQL, while binary files live in dedicated storage. Thymeleaf renders HTML on the server and Spring Security isolates each user's resources. Controller, service, and repository boundaries keep presentation and persistence separate.

Core capabilities

  • User registration and sign-in
  • Secure file uploads and storage
  • Per-account file and folder management
  • Private storage dashboard
  • Profile and avatar management
  • Responsive Tailwind CSS interface