bluewave-chat

Stars
8
Language
Java
Updated

BlueWave Chat

A professional-grade, real-time chat application with file sharing, end-to-end encryption, and a modern electric blue UI. Built with JavaFX (frontend) and Spring Boot (backend).

Features

  • Real-time messaging (group & private)
  • File sharing (drag & drop)
  • End-to-end encryption (AES-256, RSA handshake)
  • Voice messages & live voice chat (WebRTC)
  • Screen sharing
  • Emoji picker & rich text formatting
  • Typing indicators & read receipts
  • User authentication & profile management
  • Message history (SQLite)
  • Push notifications & sound alerts
  • Dark/Light & electric blue theme
  • Modern Material Design 3 UI
  • Accessibility & keyboard navigation

Tech Stack

  • Frontend: JavaFX, FXML, MaterialFX, ControlsFX, RichTextFX
  • Backend: Spring Boot, WebSocket, JPA, SQLite, Bouncy Castle, Kurento (WebRTC)
  • Build: Maven (multi-module)

Project Structure

BlueWaveChat/
  backend/    # Spring Boot backend
  frontend/   # JavaFX frontend

Setup Instructions

Prerequisites

  • Java 17+
  • Maven 3.8+

Build All Modules

cd BlueWaveChat
mvn clean install

Run Backend

cd backend
mvn spring-boot:run

Run Frontend

cd frontend
mvn javafx:run

Sample Data

  • Sample SQLite DB and test files will be provided in /sample-data.

Sample Users

UsernamePassword
alicepassword123
bobpassword123

Contribution Guidelines

  • Fork the repo and create feature branches
  • Use clear commit messages
  • Follow the code style and architecture
  • Submit pull requests for review

License

MIT License


BlueWave Chat — Modern, secure, and beautiful desktop chat for everyone.