Skip to content

Java desktop chat application with GUI — my first Java project showcasing OOP, file handling, user input, and GUI design. Built, tested, and refined from March to June as part of my coursework. Final grade: Distinction.

Notifications You must be signed in to change notification settings

commit-to-Noma/ChatApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💬 ChatApp – Java GUI Messaging System

🧠 I built this ChatApp as my first full Java project, completed between March and June 2025. It took me approximately 40 hours of learning, building, debugging, and perfecting it — and proudly earned a distinction for my final grade.


👩‍💻 About the Project

ChatApp is a desktop Java application that simulates message sending, storing, and searching in a graphical user interface. It helped me master Java fundamentals like classes, methods, arrays, and file I/O — while also exploring GUI development and practical app design.

Built entirely using Java Swing and FlatLaf, it stores messages locally in a structured JSON-like file, mimicking how real-world messaging systems manage data.


✨ Features

  • ✅ Send messages with automatic ID and hash
  • 📦 Store messages for later
  • 🔎 Search by Message ID or recipient name
  • 📄 View summaries of sent and stored messages
  • 🧹 Delete messages using message hash
  • 💾 All messages are saved to messages.json
  • 🎨 GUI styled with FlatLaf for modern look
  • 🔐 Basic input validation for phone numbers & content

🧰 Technologies Used

  • Java (JDK 17)
  • Apache NetBeans IDE 2025
  • Swing (GUI components)
  • FlatLaf (modern theme)
  • File I/O with JSON-style string construction
  • Git & GitHub for version control

🧠 What I Learned

  • Core Java (objects, arrays, loops, conditions)
  • File reading/writing using java.io
  • How to serialize and deserialize data manually
  • GUI design using JFrame, JPanel, JTextArea, etc.
  • Event handling & user interaction flows
  • Testing and debugging logic-based systems
  • How to structure a full app from scratch

📫 About Me

👤 Nomathemba Ncube
🎓 Computer Science first year student - Programming Module 💻 This is my first Java project, and I’m proud of it.
📝 Final grade was a distinction!

About

Java desktop chat application with GUI — my first Java project showcasing OOP, file handling, user input, and GUI design. Built, tested, and refined from March to June as part of my coursework. Final grade: Distinction.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages