{"repo":"cvetomir-todorov/CecoChat","free":true,"listed":false,"github":"https://github.com/cvetomir-todorov/CecoChat","clone":"git clone https://github.com/cvetomir-todorov/CecoChat.git","description":"Chat engine designed for millions of users. System design based on microservice architecture. Implementation based on cloud agnostic technologies. Configurable, observable, containerized and runnable, deployable local environment. Kafka, YugabyteDB, Cassandra, MinIO, HTTP, gRPC, Redis, .NET 8, ASP.NET, OpenTelemetry, Docker, Kubernetes.","language":"C#","stars":31,"topics":["system-design","chat","kafka","cassandra","redis","grpc","asp-net","dotnet","docker","opentelemetry"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Chat engine designed for millions of users Messaging in real-time - Send and receive messages - Send files - images, text, PDF - React/unreact with emojis - Multiple clients for the same user Chats - Notifications when a message has been processed - Indication for new messages - Review history at a random point in time User - Register, authenticate - Change password, edit trivial profile data - Store small user files - images, text, PDF Other users - Search other users by name - Connect with other users - invite/accept/cancel/remove - Profiles with static full/public-only data Check out what next needs to be implemented. I appreciate all comments so feel free to use the Discussions tab. Code Technology System design based on microservice architecture Implementation based on cloud-agnostic technologies Configurable, observable, containerized and runnable, deployable local environment Main technologies - Integration - Kafka, gRPC, WebSocket, HTTP - Data storage - Yugabyte, Cassandra, MinIO, Redis - Operations - OpenTelemetry, Docker, Kubernetes - Services - .NET, ASP.NET, SignalR, EF Core - Libraries - Autofac, Serilog, FluentValidation, AutoMapper, Polly, IdGen - Automated testing - NUnit, Testcontainers, FluentAssertions, Coverlet Design Documentation Intro - Capabilities - Overall design - Technologies Research - Concurrent connections limit - Calculations - Messaging traffic - Message IDs - Reliable messaging and consistency Design - Messaging - Chats - User - profiles, con","default_branch":null,"files":null,"tree":[],"storefront":"/r/cvetomir-todorov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cvetomir-todorov/CecoChat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}