Git Product home page Git Product logo

livechatserver's Introduction

CHATROOM - LiveChatServer

forthebadge forthebadge

LiveChatServer is a Live CHATROOM which allows multiple users (Clients) to chat with each other.

Features

  • Multiuser Live Chat
  • Awesome GUI + Console mode option
  • Password Encryption
  • Error Tracking by writing them into a log file

Usage

  1. First run the Server Program by providing the four parameters - Port No, Datbase host, Database username, Database password

    java -jar server.jar port_no datbase_host your_database_username your_database_password
  2. Run the Client program by providing the server host and port no

    java -jar client.jar server_host server_port_no
  3. The above command opens the GUI mode. If you want to open the standard console mode then specify extra --console option while running the client program

    java -jar client.jar server_host server_port_no --console

Console Commands or hidden commands ( can be typed as a message )

  1. For Sending personal message in live chat group

    @username **message**

    ( this will show up as a PM on that particular user's screen )

  2. For Exiting from Live Chat Group

    sv_exit
  3. For logout

    sv_logout
  4. For getting the list of online users in room

    sv_showusers

It's not a BUG. It's a feature!

Create a SECRET ROOM!!

i) First create a new chat room by leaving the name of the chatroom empty or by providing spaces.
ii) Now you can join the above created room by specifying empty name or the spaces you provided while creating the room in join room option.
iii) This room won't be visible / displayed in the view rooms list!

Collaborate with us!

Want to contribute? Great!

To fix a bug or enhance an existing module, follow these steps:

  • Fork the repo
  • Create a new branch (git checkout -b improve-feature)
  • Make the appropriate changes in the files
  • Add changes to reflect the changes made
  • Commit your changes (git commit -am 'Improve feature')
  • Push to the branch (git push origin improve-feature)
  • Create a Pull Request

Bug / Feature Request

If you find a bug (the application couldn't handle the query and / or gave undesired results), kindly open an issue here.

If you'd like to request a new function, feel free to do so by opening an issue here.

Screenshots

Sign In Activity

Main Menu Activity

View Rooms Activty

Chat Activity

License

See LICENSE

livechatserver's People

Contributors

ashawe avatar iamrohitsuthar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

livechatserver's Issues

How we can send attachment

How to share files with this application.
If I get output stream twice application sto responding

Please help

Can't go back from ViewRooms

Add a back button to view rooms.
Consider the following scenario:
There are no rooms available or the user wants to create a new room then there is no option to go back. He has to select the room ( for latter case ) and then logout and then create.

Logout issue

After making two logout requests,
first by sv_logout and then force quit it sends two " left the chat" messages to the other clients.

Scrollbar

After a new message, the chat window should scroll to the latest message if and only if the user is on the last received message.

Prevent Spam

Block the user if he/she sends multiple messages in 5 secs.

.classpath

The github-tags say that it should be at least java 8, but .classpath loads the project with java 1.7 in eclipse. I highly recommend switching to a higher java version, at least 8 for lambda expressions functional interfaces and java.nio (replace old java.io.File class). I even would suggest to use the latest version, java 13. This would increase security and speed and usable language features.
The second point is, that a library you are using is configured as an external jar, which is located in your download folder (/home/iamrohitsuthar/Downloads/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar). Nobody of us has this username, so we are forced to edit .classpath, wich leads to unnecessary work with git. I recommend putting the jar a repository folder like third-party and use a relative link to it. It is licensed under GPL v2, so this shouldn't be a problem, as long as the project stays open-source. This would also be a benefit to all contributers, because nowhere is documented which version is needed or at least that this library is necessary at all.
As a tipp, it is considered as good practice not to commit and push any IDE specific files at all, so every developer can stuck to his choice of favor.

Regards,
Linus

:New Feature - Swing + Console

Integrate both swing and console in the same file.
So the user can provide extra param while running the jar file for the console version.

  • Add a boolean variable in Request model and then check it on the server.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.