Skip to content

Rohitgiri02/CipherLAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages