Открытый набор библиотек и утилит для работы с чатами и создания собственного чата, а также отдельный вариант чата с открытым исходным кодом как для сервера, так и для клиентов
для жюри РКНП: прошу прощения за "неприбранный" внешний вид: разрабатывал работу я исключительно в качестве "домашнего" проекта, а после решил совместить приятное с полезным и презентавать. при необходимости - я могу ответить на любые вопросы (задать можете в разделе issues)
Данный набор может оказаться хорошим шаблоном для написания вашего собственного чата, но также может быть использован в каких-либо личных целях.
Например, для написания простого и в тот же момент удобного чата для небольшой команды разработчиков
Полностью готовый чат доступен для скачивания прямо по ссылке. Тестовая версия чата пока не получила полноценной net-поддержки
Для скачивания прямо из консоли можно воспользоваться распределённой системой управления версиями git
git clone https://github.com/AlexTunder/ossa.git
Сборка проекта совершается при помощи коренного makefile. ниже описаны таргеты для сборок
lib - Сборка всех статических библиотек
slib - сборка всех динамических библиотек
test.net - сборка теста network-api
net - сборка только нетворк-либ
CBase - сборка только базовой либы
full - все таргеты
core — весь код ядра находится здесь, там же расположен основной функционал
bin — Скомпилированные бинарные либы и исполняемые файлы
gui — интерфейс пользователя и все его модификации располагаются здесь
cli - Серьёзно нужно объяснение?
module_loader - код для загрузчика модулей
test - тесты
-
Отказ от реализации какой-либо сетевой части
-
Перех на концепцию "хаб-скелет", согласно которой программа представляет собой ядро с возможностью подключения к ней различных модулей. Никакого встроенного функционала
-
Смена приоритета с скомпиленной либы на серверную реализацию ядра. Оба варианта будут реализованы, но в приоритете сокетная версия
-
Большая часть реализации была переосмысленна и теперь приняла более компактную и обдуманную концепцию
-
Расширяется группа разработчиков
Всё что нужно сделать описано ниже. Выполненные пункты помечаются галочкой
- Написать заголовочник
core.h
, чтоб можно было писать GUI/CLI - Написать функционал для подгрузки чата в память и осуществить реализацию всех функций для работы с чатом
- написать приметивный подгрузчик расширений. пока только подгрузка с dlopen
- написать сокетный сервер
- Написать CLI с возможностью просматривать список модулей
- Написать CLI с возможностью просматривать список чатов в модуле
- Написать CLI с возможностью просматривать сообщения в чате
- Написать CLI с возможностью просматривать юзеров в чате
- Написать GUI с возможностью просматривать список модулей
- Написать GUI с возможностью просматривать список чатов в модуле
- Написать GUI с возможностью просматривать сообщения в чате
- Написать GUI с возможностью просматривать юзеров в чате
- Пока не париться
- Сделать поддержку FileStream для Linux (FUSE)
- Создать движок для своих скриптов
- Перейти от формата расширения с .so на .ossa (.zip со структурой. Об этом позже)
- Найти сервер или белый IP для установки тестового сервера
- Привлечь 12 людей в проект
ion carbonate-4 - ?? - Версия чата с возможностью подгружать внешние модули
-
AlexThunder — Работа с низкоуровневой частью — BitBicket Profile
-
Andrezoo — Документация и front-end —
-
Bjorrain — Сетевая часть, безопастность и протоколы BitBicket Profile
-
whtntr - GUI BitBicket Profile
-
mofeteus - Тестер BitBicket Profile