Skip to content
Web-app of a Thesis management system
TypeScript JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

🚀 Google Summer Of Code 2019

Development of a Thesis Management System (TMS)

Problem Statement

The process of thesis writing can play a significant role to a student’s life. So much consideration is required during this process, from the topic selection to final submission. Hard work, proper research and writing skills are obligatory for a successful outcome. The existing bureaucracy adds more complexity to thesis procedure, since thesis topics are not gathered in a specific website. Therefore each student have to contact every professor separately to learn his available thesis or in best case to visit professor’s website if he has uploaded them there. Moreover, every professor has many thesis topics assigned to supervised students and the tracking of their progress is difficult.


I propose the development of a web application that will support the whole lifecycle of a thesis, namely, a Thesis Management System (TMS) that will benefit the students as well as the professors. This proposed system aims at eliminating the time consuming procedures and paper work of a thesis in the universities ,by encapsulating and automating them in the web app. Moreover TMS will provide the functionality of an open source digital repository of completed theses, where the student authors can share their work to a wide audience and may be cited more easily by companies and researchers in their academic community.


You can find a demo here
Test users with SSO:

  1. Professor
  1. Student


The lifecycle of TMS can be separated in 4 periods:

  • Topics proposals period
  • Application-Selection period
  • Working on a thesis period
  • Complete of thesis period

You can find a more detailed review in Wiki Lifecycle

Wiki Overview

Final Report Gist

Link to the final report (


Technologies used

The data are stored in MongoDB (document-oriented database schema) and is accessible through a RESTful API.

The backend is written in node js, using the following libraries: bcrypt , body-parser , dotenv , express , form-data ,formidable,lodash , multer , jsonwebtoken, mongodb , mongoose , mongoose-paginate-v2 , morgan , passport , passport-saml, querystringify

The frontend is written in angular7, using the following modules: @angular/core , @angular/common , @angular/compiler , @angular/compiler-cli , @angular/forms , @angular/http , @angular/platform-browser , , @angular/platform-browser-dynamic , @angular/platform-server , @angular/router , @angular/animations , @angular/upgrade , @angular/material , rxjs , tslib , zone.js , bootstrap@3 , @ng-bootstrap/ng-bootstrap

For the UI css bootstrap3 framework is used

Future Work

  • Improvements in User Interface , e.g. in the data-tables.
  • SSO Integration with universities Identity Providers, e.g. Ntua Identity Provider

For more details you can visit Wiki Contribute


The project is opensourced as a part of the Google Summer of Code Program. Here, the MIT license is adopted. For more information see LICENSE.
You can’t perform that action at this time.