В докладе рассказывается об опыте создания информационной платформы //devdigest. В частности, поднимаются такие вопросы:
– Где и как размещен сайт?
– Как реализована интеграция с Telegram и Facebook?
– Как происходит определение языка публикации?
Среди рассматриваемых сервисов и технологий будут: GitHub, Digital Ocean, Azure WebApp, LetsEncrypt, Continuous Delivery, Azure Cognitive Services, Telegram и Facebook.
2. Пару слов о себе
• PhD
• ИТ-консультант
• .NET разработчик – github.com/ernado-x
• Создатель .NET Core Ukrainian User Group
• Visual Studio and Development Technologies MVP
3. .NET Core Ukrainian
User Group
Предпосылки создания сообщества
Объединить .NET разработчиков
желающих выйти на новые
платформы и разработчиков с
других платформ желающих
получить преимущества .NET
4. Начало: Telegram-
канал
Плюсы
• Удобная площадка без рекламы.
• Клиенты под
Windows /
macOS /Linux
Android /iOS
Минусы
• Трудно найти что-то спустя некоторое
время после публикации
• Отсутствие внешней индексации( то что
случилось в Telegram – остается в
Telegram)
• Не все используют Telegram
5. Создание сайта
Задачи:
1. Простой и удобный список
публикации новостей
одновременно на нескольких
ресурсах:
• Сайт
• Telegram
• Facebook
2. Для сайта – автоматическое
формирование виджетов.
7. Интеграция с
Telegram
1. Создание бота
2. Получение токена для управления
ботом через API
3. Добавление бота в канал с правами
администратора
4. Установка SDK для работы с Telegram
https://nuget.org/packages/Telegram.Bot
8. Интеграция с
Facebook
1. Создание приложения в
developer.facebook.com
2. Прохождение процедуры
валидации приложения
3. Получение токена
4. Продление токена
12. А где же $5
Digital Ocean
• Кэширующий прокси
• Бесплатный SSL сертификат от Let’s
Encrypt
Почему сам проект оставляем Azure Web
Apps?
• Работающий continuous deployment
очень удобен
• Можем подключить Application
insights
14. Работает через REST API Легко интегрируется с вашей
платформой
Создано экспертами из команд
Microsoft Research, Bing, and Azure
Machine Learning
Отличная документация и примеры
кода.
Просто Гибко Надежно
17. Архитектура
После создания публикации на
одном из потоков сайта, она
автоматически публикуется на
связанных аккаунтах:
Telegram и Facebook.
Веб-приложение и база данных размещены
в Microsoft Azure
В момент добавления
администратором новой ссылки на
публикацию, веб-приложение
передает в Text Analytics API текст
полученный по ссылке, для того,
чтобы определить язык публикации.
Microsoft Azure Cognitive
Services Text Analytics API
Исходный код проекта хранится в
публичном GitHub репозитории.
После того, как изменения
попадают в ветку master, проект
автоматически разворачивается
в Microsoft Azure
Microsoft Azure
Web Apps
MySQL Database
18. Где же это все найти?
devdigest.today
bit.ly/fb-dncuug
devdigest // xamarin
bit.ly/devdigest-xamarin
devdigest // azure
bit.ly/devdigest-azure
devdigest // net core
bit.ly/devdigest-netcore