Skip to content

Latest commit

 

History

History
100 lines (71 loc) · 3.36 KB

File metadata and controls

100 lines (71 loc) · 3.36 KB

CipherLAN - End-to-End Encrypted Chat App

CipherLAN is a modern, aesthetic, end-to-end encrypted chat application built with JavaFX and SQLite. It features a stylish user interface, user management, and secure message storage.

Features

  • End-to-End Encrypted Messaging
  • Modern, Responsive JavaFX UI
  • Login Window with Username & Password (aesthetic, with icons)
  • User List Sidebar
  • Chat History
  • Settings Window (theme & encryption options)
  • About Window (app info & credits)
  • SQLite Database for Users and Messages
  • Cross-platform (Windows, Linux, macOS)

Prerequisites

Project Structure

CipherLAN/
├── src/
│   ├── Main.java           # JavaFX main application (main chat window)
│   ├── LoginWindow.java    # Login UI (username & password, icons)
│   ├── SettingsWindow.java # Settings/preferences window
│   ├── AboutWindow.java    # About/credits window
│   ├── Database.java       # SQLite database setup
├── out/                    # Compiled classes (after build)
├── .vscode/                # VS Code settings for JavaFX/JDK
├── README.md               # This file

How to Build and Run

1. Compile

Open a terminal in the project root and run:

javac --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -d out src\*.java

2. Run

To start with the login window:

java --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -cp out LoginWindow

Or, to run the main chat window directly:

java --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -cp out Main

Note:
Adjust the JavaFX SDK path above if your installation is in a different location.

3. Using VS Code

  • Open the folder in VS Code.
  • Make sure your .vscode/settings.json and .vscode/launch.json are configured as shown in this repo.
  • Use the "Run" or "Debug" button to launch the app.

How It Works

  • On startup, the app initializes a local SQLite database (chatapp.db).
  • The UI displays a login window (username & password, with icons).
  • After login, the main chat window opens with a sidebar for users, chat area, and message input.
  • The menu bar provides access to Settings and About windows.
  • Messages typed are shown in the chat area with end-to-end encryption.
  • User and message data are securely stored and retrieved from the database.

Security

  • Passwords are securely handled.
  • Messages are end-to-end encrypted.
  • Suitable for confidential communication.

Customization & Extension

  • Encryption: Easily extend or swap encryption algorithms.
  • Networking: Add server/client logic for real-time chat.
  • User Authentication: Expand the database and UI for advanced login/register logic.
  • UI Themes: Tweak JavaFX CSS for your own look.

License

This project is for educational and demonstration purposes.


Enjoy secure, stylish chatting with CipherLAN!