The point of this project is to create a system that would integrate basic social media features along with the possibility of adding a customizable matchmaking system to games that don't have those solutions implemented. The system is made out of the following parts:
- Window client app
- Communicator server and database
- Matchmaking configuration app and database
- WebAPI handling configured matchmaking and user game stats
C#, .NET Framework, Windows Forms .NET, ADO.NET Entity Framework, NAudio, SQLite, ASP.NET Core
The client app allows the user to:
- create an account and log in,
- search for users and add them to the contacts list,
- block other users,
- create messaging groups or private chats,
- have voice calls with one other user,
- launch games with opponents of similar skill level to the user.
This server is responsible for all communicator functions like forwarding messages if a user isn't blocked or creating chat rooms. It also has main user database management.
It's used to configure the matchmaking to suit a game's needs. The picked options are then stored inside a database referenced by the WebAPI.
Communicates with clients using REST. It's responsible for matching opponents and sending information about chat rooms that need to be created to the communicator's server.