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.
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.
- Password encryption
- Message encryption
- Tokens
- Session
- Hold data in client memory
- Dependency injection
- MVC/MVP
- Repository pattern + Entity Framework
- Singleton
- Real-Time
- Application Layers
- 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
- Offloading the database
- Connection security
- Professional application template
- User management
- Work in a remote network
- Preventing multi-logging
- Session
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.
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.