Добрый день, сегодня я хочу презентовать вам Проект 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.6.1 (в связи с отсутствием порта библиотеки 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

~~Продолжение следует~~

Трансляции проекта и записи будут доступны здесь.
Поделиться с друзьями
-->

Комментарии (9)


  1. mushamib
    02.06.2017 15:13
    +1

    Здравствуйте. Какая длительность трансляций? И когда планируете закончить?


    1. zarytskiy
      02.06.2017 15:16
      +1

      Длительность по 3 часа. Завершение проекта на отметке примерно в 100 часов


  1. dmitry_dvm
    02.06.2017 16:32
    +2

    Вот это очень интересно, стек — то, что доктор прописал. Буду наблюдать.


    1. dmitry_dvm
      02.06.2017 16:35
      +1

      Starting from $9.99/month

      А, не, не буду.


      1. Virviil
        02.06.2017 16:44

        Как то неожиданное оказалось… Фактически статья — реклама коммерческого продукта


        1. mushamib
          02.06.2017 16:59
          +1

          доступ открыт вроде


        1. zarytskiy
          02.06.2017 17:00
          +1

          трансляция доступная для всех зарегистрированных пользователей


    1. amage
      02.06.2017 16:58
      -5

      говно стек же.


  1. chuikoffru
    03.06.2017 01:25
    +1

    Вот бы что-то подобное, но на Go, или NodeJS.