This project is a cross-platform chat application for both web and mobile, developed using SignalR and ASP.NET Core 8.0. The application supports real-time messaging with advanced features like public and private chat modes. Additionally, it includes End-to-End Encryption (E2EE) to ensure secure communication by encrypting messages on the client side, making them accessible only to the intended recipients.
-
Real-time Communication: Powered by SignalR for seamless, instant messaging.
-
E2EE: Implementing End-to-End Encryption to protect user privacy and data security.
-
Text and Image Messaging: Supports sending both text messages and images across web and mobile platforms.
-
Public and Private Chats: Users can switch between public rooms or private, encrypted conversations.
-
Cross-platform Compatibility: Accessible on both web and mobile platforms.
-
Web: React
-
Mobile: Fluter
-
Backend: ASP.Net Core 8.0
-
Real time : SignalR
-
Database: MongoDB
-
Encryption: E2EE, AES, RSA
Note: the E2EE feature is in the Crypto branch
Note: If you want to run server, you need to change MongoDB connection string in appsettings.json
- Clone the repository:
git clone
- Navigate to the project directory:
cd chat_app
- Run the backend server:
cd chat_app_server
dotnet run
- Run the web client:
cd chat_app_client_web
npm install
npm start
- Run the mobile client:
cd chat_app_client_mobile
flutter pub get
flutter run