Skip to content

Releases: serangeliscloud/chat

v1.4.7

Choose a tag to compare

@serangelicloud serangelicloud released this 22 Apr 10:42
a537a84

Release Notes

New Features

  • Added settings.conf file to allow and disallow duplicated usernames.

Version 1.4.7 - April 22, 2024

New Features

  • Introduced !ClientsList command to list all clients connected to the server.

Version 1.4.6 - March 26, 2024

Changes

  • Server now refuses connection if a client with the same username is already connected.

Version 1.4.5 - March 26, 2024

Changes

  • Denested input listener for improved code structure.

Version 1.4.4 - March 26, 2024

New Features

  • Implemented !whisper command for private messaging between users.

Version 1.4.3 - March 26, 2024

New Features

  • Added command to reload connection.
  • Introduced GetStatus command to retrieve someone's status.

Version 1.4.2 - March 25, 2024

Changes

  • Username is now loaded from usr/userInfo.json.
  • Added status handling in initial message.
  • Created SetStatus function for modifying status without accessing usr/userInfo.json.

Version 1.4.1 - March 24, 2024

Changes

  • Moved contributing guidelines to documentation.
  • Clients' information is now stored in clientsList on connection and removed on disconnection.
  • Added commands to retrieve information about connected clients.
    Version 1.4.0 - March 24, 2024
    These updates enhance user experience, improve server functionality, and ensure smoother communication between clients.

What's Changed

Full Changelog: v1.3.3...v1.4.7

1.3.3

Choose a tag to compare

@serangelicloud serangelicloud released this 24 Mar 19:30

Release Notes

Version 1.3.3 - March 21, 2024

  • Added .gitignore file to exclude unnecessary files from version control.

Version 1.3.2 - March 21, 2024

  • Added contributing guidelines to the project.

Version 1.3.1 - March 19, 2024

  • Implemented encryption for file sharing to enhance security.
  • Fixed a typo in the package.json file.

Version 1.3.0 - March 11, 2024

  • Introduced a file sharing system to allow users to upload and download files during chats.

Client Component (client.js)

Initial Setup and Dependencies

  • Utilizes the net, readline, and fs modules from Node.js.
  • Encryption and decryption functionalities are implemented using the crypto-js library.

Media

  • Users can now upload files to the server using the !sendFile [filePath] command.
  • Uploaded files are converted to Base64 for better compatibility and encrypted for security.
  • File download functionality is enabled using the !downloadFile [filePath] command.
  • Downloaded files are stored in the ClientDownloads folder.

Server Component (server.js)

Initial Setup and Dependencies

  • Utilizes the net module from Node.js.

Media

  • Supports file uploads from clients, which are saved in the savedFiles folder.
  • Files are saved in JSON format with sender information and can be downloaded by other clients.

v1.2.4

Choose a tag to compare

@serangelicloud serangelicloud released this 09 Mar 07:19
9064c95

This program consists of two scripts: client.js and server.js, which together create a simple chat application. Here's a description of each:

  1. client.js:

    • This script allows a user to connect to the chat server and send messages.
    • It prompts the user to enter a username and establishes a connection with the server over TCP.
    • Upon connection, it sends an initial message to the server for authentication purposes.
    • It encrypts user messages using a simple encryption algorithm before sending them to the server.
    • It listens for user input from the command line and sends messages or commands to the server.
    • It decrypts and displays incoming messages from the server, distinguishing between server-generated messages and messages from other users.
    • It gracefully handles disconnection from the server.
  2. server.js:

    • This script creates a TCP server that listens for incoming connections from clients.
    • Upon connection, it assigns a unique ID to the client and stores its socket for communication.
    • It validates the client's version number upon receiving an initial message and allows or refuses the connection based on compatibility.
    • It broadcasts messages sent by clients to all other connected clients.
    • It handles special commands, such as sending the current server time upon request.
    • It sends join and leave messages to all clients when a user joins or leaves the chat.
    • It gracefully handles client disconnection.

enchancements

  • added encryption
  • added logic to create commands
  • added proofing to inputs in order to avoid being able to send empty messages
  • colors to make the interface easier to read

What's Changed

Full Changelog: v1.2.0...v1.2.4

chat 1.1.0

Choose a tag to compare

@serangelicloud serangelicloud released this 27 Feb 20:09
800a17b

Overview:
The Chat Application v1.0 is a simple yet effective communication tool that allows users to engage in real-time text-based conversations over a network. Built using Node.js and TCP sockets, this release introduces the core functionalities necessary for basic chat functionality.

Key Features:

  1. Server-Side Functionality:

    • Creation of a TCP server to handle client connections.
    • Management of client connections, including assigning unique client IDs.
    • Broadcasting messages to all connected clients.
    • Handling initial messages from clients for authentication and version validation.
  2. Client-Side Functionality:

    • Establishment of TCP client connections to the server.
    • Capturing user input for setting up a username and sending messages.
    • Receiving and displaying messages from other users.
    • Graceful disconnection from the server upon user exit.

Improvements and Enhancements:

  1. Scalability: The architecture allows for easy scalability to accommodate a larger number of concurrent users by leveraging Node.js' asynchronous and event-driven nature.

  2. Customization: Developers can extend the application by adding features such as user authentication, message encryption, or implementing a graphical user interface (GUI) for the client.

Release Notes:

  • New Features:
    • Basic server and client functionality implemented, including message broadcasting and user interaction.
    • Initial message handling for client authentication and version validation.
  • Enhancements:
    • Error handling mechanisms implemented to ensure robustness and stability.
    • Graceful disconnection feature added to provide a seamless user experience.
  • Known Issues:
    • Limited error handling for edge cases such as unexpected client behavior or network disruptions.
    • Lack of advanced features such as user authentication or message encryption in this initial release.

Future Roadmap:

  • Version 2.0: Focus on enhancing security features, including user authentication and message encryption.
  • Version 3.0: Implementing additional functionalities such as file sharing, message persistence, and support for multimedia content.
  • Version 4.0: Introducing scalability improvements to handle a larger user base and optimizing performance for better responsiveness.

Conclusion:
The Chat Application v1.0 lays the foundation for a robust and scalable communication platform. With its simple yet powerful features, it serves as a versatile tool for real-time collaboration and community engagement. As we continue to iterate and improve upon this release, we look forward to delivering an even more seamless and feature-rich experience in future versions.

What's Changed

New Contributors

Full Changelog: v1.0.0...1.1.0

initial release

Choose a tag to compare

@serangelicloud serangelicloud released this 26 Feb 22:12
15bdec6

This repository contains code for a simple chat server and client implemented in Node.js. The chat server allows multiple clients to connect and exchange messages in real-time, while the client provides a command-line interface for interacting with the server.