/gsoc2019-tms

Web-app of a Thesis management system

Primary LanguageTypeScriptMIT LicenseMIT

🚀 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.

Abstract

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.

Demo

You can find a demo here http://83.212.104.202:4200.
Test users with SSO:

  1. Professor
  1. Student

Lifecycle

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 (https://gist.github.com/MichailChatzianastasis/1768fcfcc72ad735bc42ab8456fd16d0)

Contributors

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

License

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.