Here’s the README.md
file you requested:
The Java Chatting Application is a secure, real-time messaging platform developed using JavaFX for the client interface and a robust client-server architecture. It allows users to register, log in, and communicate in real-time with other users while ensuring that all sensitive data, such as passwords and messages, are encrypted for security.
- User Registration & Authentication: Secure user registration and login using AES encryption for passwords.
- Real-Time Messaging: Instant messaging with real-time updates.
- User Status Management: Real-time updates of user statuses (online, offline, busy).
- Secure Communication: AES encryption to secure passwords and chat messages.
- Responsive UI: User-friendly and responsive interface designed with JavaFX.
- Java Development Kit (JDK) 8 or higher
- JavaFX SDK
- MySQL Database
git clone https://github.com/Youssef-Elbanna/chat-app.git
cd chat-app
- Install MySQL and create a database for the chat application.
- Import the SQL schema provided in the
database.sql
file located in the project repository.
CREATE DATABASE chat_app;
USE chat_app;
-- Create the necessary tables as per the schema
- Update the database connection details in the
DatabaseService.java
file:
private static final String URL = "jdbc:mysql://localhost:3306/chat_app";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
- Open the project in your favorite IDE (e.g., IntelliJ IDEA, Eclipse).
- Build the project to ensure all dependencies are resolved.
- Run the
ChatServer.java
to start the server. - Run the
HelloApplication.java
to launch the client-side application.
- Sign Up: Enter a username and password to create a new account.
- Login: Use your credentials to log in to the chat application.
- Chat: Start chatting with other online users.
.
├── src
│ ├── main
│ │ ├── java
│ │ │ ├── com.example.chatting_app
│ │ │ │ ├── ChatClient.java
│ │ │ │ ├── ChatController.java
│ │ │ │ ├── ChatServer.java
│ │ │ │ ├── DatabaseService.java
│ │ │ │ ├── DataSingleton.java
│ │ │ │ ├── EncryptionUtil.java
│ │ │ │ ├── HelloApplication.java
│ │ │ │ ├── HelloController.java
│ │ │ ├── resources
│ │ │ │ ├── Chatting_Screen.fxml
│ │ │ │ ├── MainScreen-view.fxml
│ │ │ │ ├── Signup-View.fxml
├── database.sql
└── README.md
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
- Trello Dashboard: Chatting Room Project
- GitHub Repo: Java Chatting Application
This project is licensed under the MIT License - see the LICENSE file for details.
This file will provide all necessary information for setting up and understanding the project made for Field training 1 | Alamein International University