Skip to content

Commit fb1ae58

Browse files
First version of future documentation (#66)
* First version of future documentation * Add pdf from markdown
1 parent 277c0ed commit fb1ae58

2 files changed

Lines changed: 80 additions & 0 deletions

File tree

docs/futur-improvments.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Situation-Room - Now and Tasks for future improvements
2+
3+
> This Document contains tasks and suggestions for future improvements and additional features. There are some technical details that are included in this document for deeper understanding of the application.
4+
5+
- [Situation-Room - Now and Tasks for future improvements](#situation-room---now-and-tasks-for-future-improvements)
6+
- [Future tasks and suggestions](#future-tasks-and-suggestions)
7+
- [Journalist E-Mail verification](#journalist-e-mail-verification)
8+
- [Extend journalist profile to help build trust for activists](#extend-journalist-profile-to-help-build-trust-for-activists)
9+
- [Extend Real-Time Updates in the application](#extend-real-time-updates-in-the-application)
10+
- [End-to-end encryption for real-time messaging service](#end-to-end-encryption-for-real-time-messaging-service)
11+
- [Add trust-score for activist to rate his liability](#add-trust-score-for-activist-to-rate-his-liability)
12+
- [Technical insights](#technical-insights)
13+
- [Used technology](#used-technology)
14+
- [Frontend](#frontend)
15+
- [Backend](#backend)
16+
- [Database](#database)
17+
- [Application setup](#application-setup)
18+
19+
## Future tasks and suggestions
20+
21+
### Journalist E-Mail verification
22+
23+
Journalist should be required to verify their E-Mail-Address. This prevents spam and untrustworthy journalist-profiles.
24+
25+
The E-Mail-Verification can go even further and checks if the E-Mail-Address is associated with a known newspaper or news agency.
26+
27+
### Extend journalist profile to help build trust for activists
28+
29+
Journalists should have the possibility to extend their profile with additional information such as their professional social media account, links to past news-articles or a short bio.
30+
31+
This additions help activists build trust in journalists and can check if they want to share the information with them.
32+
33+
### Extend Real-Time Updates in the application
34+
35+
At the moment, real-time updates are provided for our messaging service. The real-time capability can or should be extended all over the application to improve user experience. This would include new posts, updates on posts, new chats and new comments.
36+
37+
> _**Technical hint**: Real-time messaging is implemented using `websockets` and the library `signalR` provided by Microsoft_
38+
39+
### End-to-end encryption for real-time messaging service
40+
41+
Implement end-to-end encryption to secure all messages. The system must consider that users might be logged in on multiple devices. As a second step, extend the functionality to allow users to directly verify their contact's encryption key (for example, by scanning a QR code). This will ensure the connection is secure and prevent any "man-in-the-middle" attacks.
42+
43+
### Add trust-score for activist to rate his liability
44+
45+
A key feature is that activists can remain anonymous, but this makes it hard for journalists to evaluate if an activist is a reliable source. To solve this, journalists should have the ability to "vouch for" an activist after a positive interaction. Each vouch from a journalist will contribute to a visible trust score on the activist's profile, helping other journalists identify credible sources without forcing the activist to reveal their personal information.
46+
47+
## Technical insights
48+
49+
### Used technology
50+
51+
The Situation-Room application is splitted into three main parts:
52+
53+
- Frontend (the view of the user)
54+
- Backend (Implemented Business-logic)
55+
- Database (Data-storage)
56+
57+
#### Frontend
58+
59+
The frontend is build using the [Vue.js](https://vuejs.org) JavaScript library. Vue.js is configured to use Typescript for logical operations and Vuejs-Markup for defining the user-interface.
60+
61+
#### Backend
62+
63+
The backend holding the business-logic is written in .NET C#. The backend is designed to be a WebApi and it's endpoints are exposed to the internet.
64+
65+
It uses Entity Framework Core for Database queries and provide the functionality for real-time messaging over `signalR`-WebSockets.
66+
67+
#### Database
68+
69+
The Database is considered to be a Microsoft SQL Server Database, encapsulated in a Docker-Container.
70+
71+
### Application setup
72+
73+
All of the three parts of our application are encapsulated as docker containers.
74+
75+
In addition the the previous mentioned containers are two more:
76+
77+
- nginx reverse proxy
78+
- CertBot for SSL certificates
79+
80+
All these containers are hosted on a virtual server (Ubuntu Server OS) in a german data-center.

docs/futur-improvments.pdf

187 KB
Binary file not shown.

0 commit comments

Comments
 (0)