Добрый день, сегодня я хочу презентовать вам Проект OpenTl, который будет разработан в режиме реального времени. OpenTl.Server — это попытка создать открытый мессенджер с поддержкой шифрования между клиентами, поддерживающий открытое API мессенджера Telegram.
Разработка проекта будет разделена на 3 части:
- OpenTl.Server. В проекте собрана вся серверная реализация менеджера. Этот стрим как раз о ней.
- OpenTl.ClientApi. Реализация API для доступа как к мессенджеру OpenTl, так и Telegram.
- OpenTl.Schema. Реализация контрактов между клиентом и сервером.
Логика OpenTl.Server будет поделена разделен на 2 части:
- OpenTl.Server.Front — отвечает за подключение клиентов и маршрутизацию запросов. Используется библиотека DotNetty
- OpenTl.Server.Back — отвечает за обработку запросов клиентов. Используется библиотека Orleans
Проект разрабатывается на dotnet core на языке C#. Поддерживается .net 4.61 (в связи с отсутствием порта библиотеки Orleans на dotnet core)
Используемые технологии и библиотеки:
- dotnet core 1.1
- DotNetty 0.4.5
- Orleans 1.4.х
- Autofac 4.6.x
- xUnit.net 2.x
- IDE и плагины
- Основные IDE по настроению или Visual Studio 2017 + JetBrains Resharper, или JetBrains Rider
- Основной редактор Visual Studio Code
- Git клиент SmartGit
Трансляции будут проходить в режиме обучения, можно будет задать интересующие вопросы и посмотреть все в записи.
Этот проект подходит для тех кто интересуется языком C#, стремится познать глубины .Net и не боится сложных задач. Будет много как практики, так и теории. В проекте будет разобрана до мелочей архитектура серверных приложений.
Для того чтобы легче схватывать информацию вам понадобятся:
- Знания C# .Net не менее уровня middle-разработчика
- ООП (куда же без него)
- Git базовое владение
- Знание основных паттернов проектирование
- SOLID, как минимум зачем нужен IoC
Об авторе: Виктор, 29 лет из них 8 лет занимается коммерческой разработкой ПО на платформе .Net. Работает в компании БАРС Груп в должности руководителя отдела разработки. Проживает в городе Новосибирск, Россия. Со всем проектами можете ознакомиться на GitHub.
Трансляции выходят каждую пятницу в 16-00 по МСК
Расписание:
- 2 июня 16:00 Обзор проекта. Знакомство с архитектурой
- 9 июня 16:00 Создание взаимосвязи между Front и Back серверами
- 23 июня 16:00 Реализация протокола MTProto. Часть 1
- 30 июня 16:00 Реализация протокола MTProto. Часть 2
- 7 июля 16:00 Реализация протокола MTProto. Часть 3
- 14 июля 16:00 Реализация аутентификации. Часть 1
- 21 июля 16:00 Реализация аутентификации. Часть 2
~~Продолжение следует~~
Трансляции проекта и записи будут доступны здесь.
Автор: zarytskiy