Skip to content

MangoInstantMessenger/MangoMessengerBachelorThesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mango Messenger Bachelor's Thesis

Mango Messenger Logo

What is all about

Mango Messenger is an opensource instant messaging system such that implemented using ASP NET 5 framework as REST API backend along with Angular framework as frontend. In general, current project is considered to be a diploma project in order to get bachelor's degree of computer science. However, now it is considered to be a just example of ASP .NET Core API implementation using best practices in terms of architecture etc., where it is possible to apply different software development approaches and to see how it works on different environments such as Azure, Heroku etc. Moreover, a few cryptographical concepts are implemented such as DH key exchange that can be applied in order to implement secret chats in feature. Current repository contains a LeTeX documentation for the diploma project entitled Mango Messenger and available online as PDF.

Table of contents

  • Project Assumptions
    • Project description
    • Project objectives
  • Project implementation
    • Project tasks
    • Project implementation
      • Theoretical assumptions
      • Description of facts
      • Empiric research
      • System requirements
      • Web service architecture
      • Authorization mechanism (JWT)
      • End-to-end encryption (DH key exchange + AES256)
    • Project outcomes
    • Usefulness of project
    • Project self-evaluation
  • Bibliography

Build and run

Useful links

Tasks management

The opened tasks and issues to be organized and handled as follows:

Git flow

Version control to be organized as follows:

  • Fork this repository
  • Clone this repository using git clone https://github.com/${{ username }}/MangoMessengerBachelorThesis.git
  • If repository is cloned already then pull last changes from develop using
    • git checkout develop
    • git pull
  • Create new branch based on develop with name according to THESIS-ID of the task
  • Solve the task
  • Create pull request to develop

Logo Attribution

Icons made by Freepik from www.flaticon.com