Code Monkey home page Code Monkey logo

chatroulette.backend's Introduction

LangSkillUp πŸ’¬

Course work πŸ‘¨β€πŸŽ“

⭐ Nominated as one of the best projects at the Faculty of Computer Science of the National Research University Higher School of Economics ⭐

Legend

How often do you hang out in chat roulette?

Description

The web application β€œChat Roulette β€œLangSkillUp”” implements the mechanics of Chat Roulette, providing users with the opportunity to communicate in English language through video communication (the main type of communication) and text chat (an auxiliary type of communication). The built-in game mechanics will allow you to develop communication skills in English language.

1716313742257

What I use to implement all of this?

Backend

  • .NET
  • EF Core
  • Dapper
  • Redis
  • RabbitMQ with MassTransit library
  • Serilog for structure logging
  • Amazon S3
  • Jenkins / GitHub Actions for CI/CD pipelines
  • SignalR for realtime communication
  • Quartz for background jobs
  • Ocelot
  • Docker Swarm for orchestration

Architecture

AdminService: Only for admin purposes
1) Check user complaints
2) Ban users
3) Check feedbacks

AuthService:
1) SignUp
2) Login
3) Logout
4) Generate refresh token

ChatService:
1) WebSockets communication
2) Storage communication users, chat group
3) Implementing card games

EmailService:
1) Submit email
2) Notify that user is submitted

ProfileService: all core features
1) Calculation user rating after talkings
2) Friends features
3) Edit profile features
4) Upload avatars
5) Getting history, user information, invitations 
   to friends

1716313770049

Also this project implements Domain Driven Design 
principles

We use WebRTC for send video traffic through 
the Internet. 
Everything works fine, but due to the fact
that we use free stun servers, video traffic is
not always delivered to recipients. If you liked 
the concept of this application, then click on the 
star in the repository and after 15 likes I will 
launch the application with paid servers for video
traffic.

Click here for more details on TURN and STUN servers

Status last build:


Copyleft By Denis Miroshnichenko 2024

chatroulette.backend's People

Contributors

platinaa777 avatar

Stargazers

 avatar Nazarov Nikita avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.