Task Management App

2023 2023

Multi-user client-server task management application built with Java, JavaFX, and socket programming

Project Overview

Developed a multi-user client-server task management application using Java and JavaFX. The system follows the MVC architecture and utilizes socket programming with a multi-threaded server to enable simultaneous communication between multiple clients.

Key Features

  • Client-Server Architecture: Built a networked application enabling real-time communication between clients and the server.
  • Multi-threaded Server: Implemented concurrent client handling using multi-threading for scalable performance.
  • Task Management: Created, updated, assigned, and organized tasks through an intuitive graphical interface.
  • User Authentication: Supported secure user login and account management.
  • Real-Time Synchronization: Ensured task updates were reflected across connected clients.

Technologies Used

  • Java: Core application development.
  • JavaFX: Desktop graphical user interface.
  • Socket Programming: Client-server communication.
  • Multi-threading: Concurrent request handling.
  • MVC Architecture: Modular and maintainable software design.
  • Object-Oriented Programming (OOP): Structured and reusable codebase.

Software Architecture

  • Client Application: JavaFX-based desktop interface for user interaction.
  • Server Module: Multi-threaded socket server managing client requests and shared data.
  • Communication Layer: TCP socket-based messaging protocol between clients and server.
  • MVC Design Pattern: Separation of presentation, business logic, and data management.
  • Data Management: Persistent storage and synchronization of user tasks.

Impact and Applications

  • Collaborative Task Management: Enabled multiple users to manage tasks simultaneously.
  • Scalable Network Design: Demonstrated efficient handling of concurrent client connections.
  • Software Engineering Practice: Showcased practical implementation of networking, concurrency, and software architecture principles.
  • Desktop Productivity: Provided an intuitive platform for organizing and tracking tasks.