How davincecode/lomsx works
OnLime is a JavaFX LAN messaging application with user accounts, message views, and a TCP server that relays client traffic. The principal workflow is login/account creation, opening the client dashboard, exchanging messages through the server, and persisting account and message data in MySQL. The dashboard also loads and manages friend/direct-message lists; the README documents backup/restore, implemented within the database layer. The excerpts show centralized socket relay rather than a separate peer-to-peer path. Some README capabilities, including deferred delivery and advanced group/broadcast features, are described as future work; unsampled wiring is not inferred.
Main entry points: OnLimeDB.java Accounts and messages · ClientFormController.java Messaging dashboard · Server.java Socket server · LoginFormController.java Login and signup
Components 16
Accounts and Login
- Application entry
src/main/java/Launcher.java - Server launcher
src/main/java/server/ServerLauncher.java - Client launcher
src/main/java/client/ClientLauncher.java - Login and signup
src/main/java/controller/LoginFormController.java - Password hashing
src/main/java/controller/Encryptor.java
Client Messaging
- Messaging dashboard
src/main/java/controller/ClientFormController.java - User list actions
src/main/java/utils/UserListCell.java
Server and Presence
- Server console
src/main/java/controller/ServerFormController.java - Socket server
src/main/java/server/Server.java - Client socket handler
src/main/java/client/ClientHandler.java - Online user status
src/main/java/server/Server.java
Persistence
- Message record
src/main/java/database/Message.java - Accounts and messages
src/main/java/database/OnLimeDB.java - Backup and restore
src/main/java/database/OnLimeDB.java
Other components
- Office user
- MySQL database
Connections 24
- Office user → Application entry: starts
src/main/java/Launcher.java - Application entry → Server launcher: launches
src/main/java/Launcher.java - Office user → Client launcher: opens client
src/main/java/client/ClientLauncher.java - Client launcher → Login and signup: opens login
src/main/java/client/ClientLauncher.java - Office user → Login and signup: authenticates
src/main/java/controller/LoginFormController.java - Login and signup → Accounts and messages: checks accounts
src/main/java/controller/LoginFormController.java - Login and signup → Password hashing: hashes password
src/main/java/controller/LoginFormController.java - Login and signup → Messaging dashboard: opens dashboard
src/main/java/controller/LoginFormController.java - Messaging dashboard → Accounts and messages: loads and stores
src/main/java/controller/ClientFormController.java - Messaging dashboard → Message record: uses records
src/main/java/controller/ClientFormController.java - Messaging dashboard → User list actions: configures list
src/main/java/controller/ClientFormController.java - User list actions → Accounts and messages: manages user lists
src/main/java/utils/UserListCell.java - Messaging dashboard → Socket server: observes status
src/main/java/controller/ClientFormController.java - Messaging dashboard → Server console: reports activity
src/main/java/controller/ClientFormController.java - Server launcher → Server console: opens console
- Server console → Socket server: starts listener
src/main/java/controller/ServerFormController.java - Socket server → Client socket handler: creates handler
src/main/java/server/Server.java - Client socket handler → Socket server: updates presence
src/main/java/client/ClientHandler.java - Socket server → Accounts and messages: loads usernames
src/main/java/server/Server.java - Socket server → Online user status: tracks users
src/main/java/server/Server.java - Client socket handler → Client socket handler: relays messages
src/main/java/client/ClientHandler.java - Accounts and messages → Message record: creates records
src/main/java/database/OnLimeDB.java - Accounts and messages → MySQL database: queries and writes
src/main/java/database/OnLimeDB.java - Accounts and messages → Backup and restore: provides backups
src/main/java/database/OnLimeDB.java