Skip to content

A chat application that allows for secure communication within the company in real-time. The program uses SignalR to communicate between the server and each client. Application used .Net Core.

Notifications You must be signed in to change notification settings

16pxdesign/signalR-local-secure-messanger-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desktop Messenger Application [prototype] [academic]

server and client application build using .NET CORE and SignalR. A chat application that allows for secure communication within the company in real-time. The program uses SignalR to communicate between the server and each client.

Scope

The project is to create an application for DOGE FINANCIAL, which will be used for communication between company users. The program should be characterized by a high level of security, since the data transmitted are sensitive and require special treatment and protection from third parties. In addition, the program should send data between users as quickly as possible - in real time. The only place where data are stored is the database, which is hosted on the company's server. Only verified employees can use the program, they get access with the appropriate login and password.

App overview 4

Key features

Security

  • Password encryption
  • Message encryption
  • Tokens
  • Session
  • Hold data in client memory

Patterns

  • Dependency injection
  • MVC/MVP
  • Repository pattern + Entity Framework
  • Singleton
  • Real-Time
  • Application Layers

Specific requirements

Functional requirements

  • Login to the application
  • Sending messages
  • Receiving messages
  • Starting a conversation
  • Viewing the user list
  • Message encryption
  • Minimal latency
  • Microsoft Windows 7 compatibility
  • Copy of messages
  • Message sound
  • Remove old messages

Non-functional requirements

  • Offloading the database
  • Connection security
  • Professional application template
  • User management
  • Work in a remote network
  • Preventing multi-logging
  • Session

App overview 3 App overview 1 App overview 2

Diagrams

image image image image image image

Timeline

image

Testing

On the one hand, the test object was the application code, on the other hand the application itself on the user's side. To this end, techniques called white and black box tests were used. Testing the white box allowed to test the program based on the internal structure of the application. To achieve this, applications were tested using unit tests where they could be used. image

Because the application has a complex structure, it uses several frameworks and the logic has been divided between the server and the client. Therefore, the program was also tested as a product. For this purpose, we will use a technique called Black Box. Testing consisted of testing individual functions of the application by following specific steps and using various types of input data (normal, exceptional and extreme); making sure that the data received during the tests are as expected.

About

A chat application that allows for secure communication within the company in real-time. The program uses SignalR to communicate between the server and each client. Application used .Net Core.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages