Skip to content

Messaging app inspired by Discord and Telegram. Features two-factor authentication using QR codes for enhanced security.

Notifications You must be signed in to change notification settings

JivkoSp/WireChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WireChat

Logo


WireChat is a messaging app inspired by Discord and Telegram. The app features two-factor authentication using QR codes for enhanced security, options for message preservation in the database, and a comprehensive set of functionalities including:

  1. One-to-one chat with friends
  2. Group chat (open to anyone, not just friends)
  3. Approval/Decline of requests for one-to-one or public chats
  4. Group roles management
  5. Password change with email verification
  6. Profile picture update
  7. Block/Unblock friends or group members
  8. Active groups panel showing current activity (active status persists for 30 seconds after last message)

1. How the app looks

LogIn/SignUp page:

LogIn/SignUp page

SignUp 📝:

SignUp

Add friend and profile options 🤝:

Add friend and profile options

One-to-one chat, group chat and group activity 💬:

One-to-one chat, group chat and group activity

Block/unblock friends 🚫:

Block/unblock friends

2. How the app works

Database:

The chat uses SQL Server DB with Entity Framework for data management. The repository design pattern is implemented to encapsulate SQL queries into specific repository classes, ensuring code reuse and maintainability.

Messaging:

SignalR API is utilized for real-time messaging, supporting WebSockets, Server-Sent Events, and Long Polling. SignalR ensures seamless connection fallback and handles disconnected clients effectively.

Model objects:

AutoMapper API is employed for mapping between model objects and DTOs, minimizing code duplication and simplifying complex mappings where necessary. ViewModel convention is used for read-only views of model data.

Motivation:

The project was motivated by a desire to understand messaging applications and technologies such as WebSocket in practice. It serves as a practical application to explore and implement these protocols while enhancing skills in MVC development.

About

Messaging app inspired by Discord and Telegram. Features two-factor authentication using QR codes for enhanced security.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published