Skip to content

TinDomljan/Client-Management-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Client Management System

A JavaFX desktop application for managing clients, contracts, and payments, built as an academic project at TVZ Zagreb. The system supports multiple user roles with secure authentication and provides a full audit trail of all data changes.

Architecture

The application follows the MVC pattern with a layered structure:

  • Model layer — domain entities (Client, Contract, Payment) with builder patterns for flexible object construction
  • Repository layer — data access abstraction over an embedded H2 SQL database
  • UI layer — JavaFX views with role-based access control

Key Features

  • Authentication — BCrypt password hashing with admin and standard user roles
  • Client management — full CRUD operations for clients and associated contracts
  • Change tracking — audit log that records all modifications with timestamps and user attribution
  • Data validation — input validation with user-friendly error handling via custom AlertHandling

Tech Stack

Component Technology
Language Java
UI JavaFX (FXML)
Database H2 (embedded)
Security BCrypt
Build Maven

Project Scope

~4,200 lines of code across 67 classes.

Running

  1. Clone the repository
  2. Open in IntelliJ IDEA (or any IDE with Maven support)
  3. Run the main application class

About

JavaFX desktop app for client management: MVC, H2 database, BCrypt authentication with user roles

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors