Good afternoon, today I want to present you the OpenTl Project, which will be developed in real time.
OpenTl.Server is an attempt to create an open messenger with support for encryption between clients, supporting the open API of the Telegram messenger.

The project development will be divided into 3 parts:
- OpenTl.Server. The project contains the entire server implementation manager. This stream is about her.
- OpenTl.ClientApi. Implementation of the API for access to both the OpenTl messenger and Telegram.
- OpenTl.Schema. The implementation of contracts between the client and the server.
The logic of OpenTl.Server will be divided into 2 parts:
')
- OpenTl.Server.Front - is responsible for connecting clients and routing requests. DotNetty library used
- OpenTl.Server.Back - is responsible for processing customer requests. Orleans library used
The project is being developed on the dotnet core in C #. Supported .net 4.6.1 (due to the lack of the Orleans library port on the dotnet core)
Used technologies and libraries:
- dotnet core 1.1
- DotNetty 0.4.5
- Orleans 1.4.x
- Autofac 4.6.x
- xUnit.net 2.x
- IDE and plugins
- Basic IDE by mood or Visual Studio 2017 + JetBrains Resharper, or JetBrains Rider
- The main editor of Visual Studio Code
- Git SmartGit client
Broadcasts will be held in training mode, you can ask questions and see everything in the record.
This project is suitable for those who are interested in C #, seeks to understand the depth of .Net and is not afraid of complex tasks. There will be a lot of practice and theory. The project will be dismantled to the smallest architecture of server applications.
To make it easier to grab the information you need:
- Knowledge of C # \ .Net is not less than the level of a middle developer
- OOP (where do without it)
- Git baseline
- Knowledge of basic design patterns
- SOLID, at least why IoC is needed
About the author:
Victor , 29 years old, 8 years of them engaged in commercial software development on the .Net platform. Works in the company BARS Group as a head of development department. Lives in the city of Novosibirsk, Russia. All projects can be found on
GitHub .
Broadcast out every Friday at 16-00 MSK
Schedule:
- June 2 16:00 Project overview. Familiarity with the architecture
- June 9 16:00 Create a relationship between Front and Back servers.
- June 23 16:00 Implementation of the MTProto protocol. Part 1
- June 30, 16:00 Implementation of the MTProto protocol. Part 2
- July 7, 16:00 Implementation of the MTProto protocol. Part 3
- July 14, 16:00 Authentication implementation. Part 1
- July 21 16:00 Authentication implementation. Part 2
~~ To be continued ~~
Broadcasts of the project and recordings will be available
here .