BTS SIO Project 4 — Real-Time Java Chat Application
**Professional Development Workshop 4** is a real-time live chat application developed as part of the BTS SIO program. The project involved building a JavaFX desktop client connected to a Spring-based WebSocket server, with PostgreSQL used for persistent data storage. It covered the full application lifecycle, including real-time communication, database design, server deployment, and CI/CD pipeline implementation, reflecting professional software development and infrastructure practices.
About This Project
Live Chatting Application – Java / Spring / WebSocket / PostgreSQL
Overview
Professional Development Workshop 4 is a comprehensive software engineering project carried out as part of the BTS SIO program. The objective was to design, implement, and deploy a real-time communication system, covering the full lifecycle of a modern application: backend services, real-time messaging, database persistence, desktop client development, infrastructure setup, and DevOps practices.
The result is a live chat desktop application built with JavaFX, backed by a Spring-based WebSocket server, and powered by a PostgreSQL relational database.
Context
Within the BTS SIO curriculum, this project was designed to put into practice advanced technical skills in both software development and IT infrastructure. It required working autonomously while respecting professional standards such as clean architecture, secure communication, deployment automation, and maintainability.
Project Description
The application enables multiple users to communicate in real time through persistent WebSocket connections. Messages are transmitted instantly between connected clients and stored in a relational database for consistency, traceability, and future retrieval.
The system is composed of three main parts:
- A desktop client developed in JavaFX, providing a responsive and user-friendly interface
- A backend server built with Spring, exposing WebSocket endpoints for real-time messaging
- A PostgreSQL database handling user data, message history, and relational integrity
Key Features
- Real-time bidirectional communication using WebSockets
- Desktop thick-client application with JavaFX
- Persistent message storage in PostgreSQL
- Multi-user session handling
- Secure and structured client–server communication
- Automated build and deployment pipeline
Technologies Used
- Development of a thick-client desktop application using JavaFX - Backend server implementation with Spring
- Java
- Real-time communication layer - Low-latency, bidirectional messaging between clients and server
- WebSocket (Spring)
- Relational database for persistent storage - SQL schema design and query optimization
- PostgreSQL
- Implementation of a CI/CD pipeline - Automated build, testing, and deployment processes
- DevOps
- Server configuration - Application deployment and environment setup
- Infrastructure
Skills Developed
- Real-time application design
- Client–server architecture
- WebSocket protocol implementation
- Desktop application development
- Relational database modeling and optimization
- DevOps and deployment automation
- Professional project structuring and documentation
Outcome
This project demonstrates the ability to design and deliver a complete, production-oriented application, combining backend services, real-time communication, database management, desktop UI development, and infrastructure automation in a professional context.
Gallery
Click on any image to view it in full size
Documentation & Files
Download project documentation or preview files directly in your browser