KarmaHacker
30 уровень
Новосибирск

Мой Чат.

Статья из группы Архив info.javarush
Всем привет! Хочу поделиться своим небольшим проектом: Взял одну из больших задач (Чат) и изменил, обновил, добавил много нового и вот что из этого вышло: Мой Чат. - 1 Что изменено/добавлено по сравнению с оригинальной задачей: - Конфигурацию читает из файла properties при помощи класса ResourceManager - Добавлены чат румы и возможность клиенту создавать свои чаты - Добавлены приватные сообщения - Полностью новый swing интерфейс клиента - Добавлены горячие клавиши для отправления сообщений и команд клиента - Добавлено окно настроек - Добавлены смайлики - Сделаны вкладки для отображения сообщений из разных чат румов и приватных чатов - Добавлен счетчик непрочитанных сообщений - Сделано дерево пользователей для отображения пользователей в чатах и вызова приватных сообщений - Бот научился отвечать смайликом на смайлик - Добавил логгер log4j - Добавил добавил тесты jUnit - Завернул все это в мавен и разбил на модули ссылка на гит хаб: https://github.com/DevCorvette/chat Кому интересно, заходите, смотрите, комментируйте, буду рад :) Конструктивной критике тоже буду рад. P.S.: Тот кто еще не решал задачу - не ищите у меня готовых решений, там практически все переписано ;)
Комментарии (10)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
fatfaggy Уровень 26
1 ноября 2017
а почему сервер весь на статиках? :) чтоб было невозможно запустить два чата одновременно?

и тогда сразу еще вопрос: почему бы класс Client не сделать интерфейсом и вынести туда все необходимые методы для любой реализации интерфейса. чтоб если я например захочу написать свою реализацию клиента (например веб-клиент) — у меня не были бы связаны руки наследованием класса Client, а я смог бы наследоваться от любого другого класса, и просто реализовать недостающие методы. в том числе и те, которые выводят сообщения об ошибках (потому что сейчас они просто сыпятся в консоль, как я понял, а с веб-клиентом никто ту консоль не увидит. ну кроме сисадмина, который потом будет читать логи веб-сервера) :)
Rushmore Уровень 12
27 сентября 2017
Хорошая идея создать пользователей и комнаты в юморнофэнтезийной стилистике Семи королевств, а ля вк, но Jon пишется как John :)