Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/agalabov/chatserver
FMI "Modern Java Technologies" 2017 - Course Project
https://github.com/agalabov/chatserver
Last synced: about 1 month ago
JSON representation
FMI "Modern Java Technologies" 2017 - Course Project
- Host: GitHub
- URL: https://github.com/agalabov/chatserver
- Owner: AGalabov
- Created: 2019-07-27T10:44:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-07-27T11:02:58.000Z (over 5 years ago)
- Last Synced: 2023-07-31T18:10:46.458Z (over 1 year ago)
- Language: Java
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ChatServer
FMI "Modern Java Technologies" 2017 - Course Project## Overview
Console chat server## Functionality
* The server handles multiple user's requests simultaneously.
* Each user has unique username and password. User's data is stored as a plain text in a file.
* Users can disconnect at any time.
* Each user can send personal messages or files to another active user. A user is active when is registered and logged in the system at the moment.
* Users can communicate using chat-rooms(multiple users chat):
* A user can be part of many chat-rooms at a time.
* Create/Delete chat-room. Only the creator of the room can delete it.
* Join/Leave an existing chat-room.
* Show all existing chat-rooms.
* List all active users in an existing room.
* Send a message to all members in the room.
* Chat history of each room is stored as a plain text in a file. When a new user joins the room he receives the whole chat history of the room.
#### User commands:
- `connect ` - connects a user to the server
- `register ` - registers a user if the username is already taken, server sends appropriate message.
- `login ` - logs in a user if exists and is not already logged in.
- `disconnect` - disconnects a user.
- `list-users` - lists all active users.
- `send ` - sends `` to the user with username equal to `` if such exists.
- `send-file ` - sends `` to the user with username equal to `` if such exists.
- `accept` - accepts a sent file and prommpts question for directory to be saved.
- `decline` - rejects a sent file.
- `create/delete/join/leave-room ` - creates/deletes/joins/leaves chat-room if does not exists the server sends appropriate message.
- `send-group ` - sends `` to all users in group with name `` if such exists.
- `list-rooms` - lists all active chat-rooms. A chat-room is active if has at least one active user.
- `list-room-users ` - lists all active users in the chat-room.