Talkie
A chat application built for desktop. Database is stored using MariaDB.
“Chatting is like a window into someone’s world. It allows us to see beyond the surface and connect on a deeper level, sharing our thoughts, experiences, and emotions in a way that is both personal and profound”
Project Description
Talkie is a chat app I developed using Java and socket technology. It allows users to connect and communicate with each other in real-time. Using Talkie, users can create individual or group chats, and send text messages, images, and files with ease.
Features
- Register chat account (saved in MariaDB/MySQL database)
- Chat 1v1
- Chat with many people at the same time (Multithreading)
- Chat Group
- Send file
Experiences
- Java
- MariaDB/MySQL
- Socket
- Multithreading
Build and Run Project
Create database
Firstly, because the program uses MariaDB to store user data, we need to create and run the database
We need to type commands to log in as root. by typing the command:
mysql -u root -p
Next, we need to create a database named “chatUser” with the following comand:
CREATE DATABASE chatUser;
Run the following SQL script to create the table:
DROP TABLE IF EXISTS chatUser; CREATE TABLE chatUser ( username varchar(50) NOT NULL primary key, userpassword varchar(256) DEFAULT NULL )
Build the project
Go to the project directory and type the following command:
mvn install
After maven says “BUILD SUCCESS”, the
.jar
file will be in the directory calledtarget
, go to that directory and execute the java program by typing the following command:java -jar ChatClient-1.0-SNAPSHOT-jar-with-dependencies.jar
Note, there will be 2
.jar
files, we need to select the file whose name includes the word “with-dependencies.” For the ChatServer project we also do the same. The following screen shot is the result of the application running successfully: