Skip to content

akovardin/adscoffee

Repository files navigation

Caffeine

Go Build Go Coverage

Открытая рекламная платформа для разработчиков

Кофеин — это полнофункциональная рекламная платформа с открытым исходным кодом, созданная для того, чтобы дать разработчикам, издателям и сообществам открытого ПО полный контроль над монетизацией своих проектов. Мы предлагаем прозрачную, настраиваемую и этичную альтернативу крупным рекламным сетям.

Философия Кофеина строится на четырёх фундаментальных принципах.

Прозрачность — это основа доверия. Весь исходный код платформы открыт для независимого аудита. Вы всегда будете точно знать, как работает алгоритм выбора рекламы, какие данные собираются и каким образом они обрабатываются. Никаких скрытых алгоритмов или «чёрных ящиков».

Контроль полностью в ваших руках. Вы самостоятельно управляете всеми аспектами монетизации: от дизайна и размещения рекламных блоков до тонкой настройки таргетинга и частоты показа. Платформа — это ваш инструмент, а не набор навязанных правил.

Этика лежит в основе нашего подхода к пользователю. Система спроектирована с уважением к аудитории. Вы сможете легко устанавливать строгие правила к качеству и уместности рекламы, избегать навязчивых форматов и гарантированно соблюдать регуляторные нормы, такие как GDPR.

Сообщество — это наша ключевая аудитория и цель. Кофеин специально создан для поддержки экосистемы открытого знания. Платформа идеально подходит для монетизации документации, проектов на GitHub, личных блогов и нишевых приложений, там, где крупные коммерческие сети часто оказываются неэффективными или избыточными.

Текущая функциональность

Ядро системы:

  • Модульная архитектура на основе плагинов: Легко расширяйте функциональность (добавляйте новые форматы, источники данных, системы аналитики) без изменения ядра.
  • Сервер подбора рекламы (Ad Server): Принимает запросы от клиентов и возвращает наиболее релевантное рекламное объявление.
  • Административная панель: Удобный интерфейс для управления рекламными кампаниями и креативами.
  • Аналитика и отчетность на базе clickhouse и redash

Что сейчас реализовано

  • Система плагинов
  • Админка для настройки рекламы
  • Сервер для подбора рекламы
  • Аналитика и отображение статистики
  • Клиент для показа рекламы в приложениях
  • Клиент для показа рекламы на сайте
  • Медиация рекламы

Разработка и запуск

Для разработки и тладки используется docker-compose и taskfile.

Для начала нужно установит все зависимости. Они описаны в docker-compose.yml и их можно запустить командой task docker-up

task docker-up

После этого можно запускать необзодимые сервисы платформы.

Запуск админки

go run ./admin/cmd/admin/main.go serve -config=./admin/configs/config.yaml

Запуск рекламного сервера

go run ./server/cmd/server/main.go serve -config=./server/configs/config.yaml

Запускаем миграции для создания таблиц в базе данных

go run admin/cmd/admin/main.go -c ./admin/configs/dev.yaml m  

Для добавления нового пользователя в админку нужно запустить команду:

go run admin/cmd/admin/main.go u

Структура

Все начинается с Placement (размещение). На каждом размещении можно указать несколько Unit (блок рекламной сетки). Unit может быть как блоком любой сторонней сетки, так и блоком кофеина. Если нужно показывать только рекламу кофеина, то можно указать только unit кофеина.

Аналитика

Проверяем состояние консумеров в клике

SELECT *
FROM system.kafka_consumers
WHERE database = 'analytics'

About

Open advertising platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors