/ossa

Open Source Social Aliance

Primary LanguageCGNU General Public License v3.0GPL-3.0

Open Source Social Alience

Открытый набор библиотек и утилит для работы с чатами и создания собственного чата, а также отдельный вариант чата с открытым исходным кодом как для сервера, так и для клиентов

для жюри РКНП: прошу прощения за "неприбранный" внешний вид: разрабатывал работу я исключительно в качестве "домашнего" проекта, а после решил совместить приятное с полезным и презентавать. при необходимости - я могу ответить на любые вопросы (задать можете в разделе 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 - тесты


Новости и обновления

  • Отказ от реализации какой-либо сетевой части

  • Перех на концепцию "хаб-скелет", согласно которой программа представляет собой ядро с возможностью подключения к ней различных модулей. Никакого встроенного функционала

  • Смена приоритета с скомпиленной либы на серверную реализацию ядра. Оба варианта будут реализованы, но в приоритете сокетная версия

  • Большая часть реализации была переосмысленна и теперь приняла более компактную и обдуманную концепцию

  • Расширяется группа разработчиков

Задачи на февраль-март

Всё что нужно сделать описано ниже. Выполненные пункты помечаются галочкой

Ядро и API

  • Написать заголовочник core.h, чтоб можно было писать GUI/CLI
  • Написать функционал для подгрузки чата в память и осуществить реализацию всех функций для работы с чатом
  • написать приметивный подгрузчик расширений. пока только подгрузка с dlopen
  • написать сокетный сервер

Интерфейс пользования (GUI/CLI)

  • Написать CLI с возможностью просматривать список модулей
  • Написать CLI с возможностью просматривать список чатов в модуле
  • Написать CLI с возможностью просматривать сообщения в чате
  • Написать CLI с возможностью просматривать юзеров в чате
  • Написать GUI с возможностью просматривать список модулей
  • Написать GUI с возможностью просматривать список чатов в модуле
  • Написать GUI с возможностью просматривать сообщения в чате
  • Написать GUI с возможностью просматривать юзеров в чате

Поддержка языков (Lang Support)

  • Пока не париться

Дополнительные задачи

  • Сделать поддержку FileStream для Linux (FUSE)
  • Создать движок для своих скриптов
  • Перейти от формата расширения с .so на .ossa (.zip со структурой. Об этом позже)

Организация

  • Найти сервер или белый IP для установки тестового сервера
  • Привлечь 12 людей в проект

Близкие релизы

ion carbonate-4 - ?? - Версия чата с возможностью подгружать внешние модули

Авторы и разработчики