Skip to content

A real-time chat application modeled after Messenger/Zalo. Built with Java, JavaFX for the UI, and Hibernate/PostgreSQL for data management. Supports 1-on-1 & group chat.

Notifications You must be signed in to change notification settings

PhuocHoan/Chat-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time Chat System with JavaFX

Introduction

Welcome to the Real-Time Chat System! This project is a desktop-based chat application built with JavaFX for the user interface and Socket for real-time communication. It allows users to connect, exchange messages instantly, providing a seamless, interactive experience.

Features

Admin Panel Features

  1. User Management:

    • View, add, update, and delete user accounts.
    • Lock user accounts and reset passwords.
    • View login history and friend lists.
  2. Group Chat Management:

    • Manage chat groups, including viewing members and admins.
    • Sort and filter groups by name or creation time.
  3. Spam Reports:

    • View, sort, and filter spam reports.
    • Ban users based on spam activity.
  4. User Statistics:

    • Monitor active users and display visual reports.
    • View the number of new registrations per month with graphs.

User Features

  1. Account Management:

    • Register, log in, update profile information, and reset passwords.
  2. Friend Management:

    • Send, accept, and decline friend requests.
    • Block users, view online friends, and filter by name.
  3. Real-Time Messaging:

    • Instant message delivery with real-time updates.
    • View chat history, search within conversations, and delete messages.
  4. Group Chat:

    • Create and manage groups with admin privileges.

Technologies Used

  • JavaFX: For building the graphical user interface.
  • AsynchronousSocket: For real-time, two-way communication between the client and server.
  • Java SE: Core backend logic and handling.
  • Gradle: Dependency and project management.

Installation Instructions

Prerequisites

  • Java Development Kit (JDK) 21+
  • Gradle

Steps to Run the Project:

Usage

  1. Start the SocketServer.
  2. Launch the UserClient.
  3. Login/Register to begin chatting.
  4. Use the AdminClient to manage users, groups, and reports.

Future Improvements

  • End-to-End Encryption (E2EE) for private chats.
  • Theming options for UI customization.

License

This project is licensed under the MIT License.


About

A real-time chat application modeled after Messenger/Zalo. Built with Java, JavaFX for the UI, and Hibernate/PostgreSQL for data management. Supports 1-on-1 & group chat.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •