A web-based project management system

Currently, Internet plays an important role in the modern society, and most of the applications are developed using web applications, for instance social media (Facebook), E-commerce(Amazon) and cloud storage (Dropbox), although the nature and usage of each of the application differs. Even though, M...

Full description

Saved in:
Bibliographic Details
Main Author: Koh, Jin Cheng
Other Authors: Chua Hock Chuan
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74627
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-74627
record_format dspace
spelling sg-ntu-dr.10356-746272023-07-07T16:58:32Z A web-based project management system Koh, Jin Cheng Chua Hock Chuan School of Electrical and Electronic Engineering DRNTU::Engineering Currently, Internet plays an important role in the modern society, and most of the applications are developed using web applications, for instance social media (Facebook), E-commerce(Amazon) and cloud storage (Dropbox), although the nature and usage of each of the application differs. Even though, Model-View-Controller (MVC) is the most widely accepted design for building web applications on, the selection of the server-side programming language is difficult as there are many options to choose from, like PHP, Java, ASP.Net, C, Node.js and Python. However, the majority of the developers utilize PHP as the server-side language due to its simplicity and large availability of documentation. Despite the benefits of using PHP, it has vulnerabilities and disadvantages such as SQL Injection attack and limited scalability. Therefore, this report would use Python-Flask as the proposed server-side language, an alternative to PHP. Since Python-Flask has great readability and uses a minimalistic approach in designing of the web application thus providing good flexibility. Furthermore, in recent years Python has rose to become one of the most popular general programming language. The objective of this report is to develop a Calendar web application using Python-Flask that allows undergraduates taking semester-based projects such as Design and Innovation Project (DIP) and Final Year Project (FYP) to edit and submit report, and to review the comments made by the supervisor. In addition, the Calendar web application also allows the user to upload the report in document formats as well as to send emails. The project has demonstrated that Python-Flask has better readability and easy syntax as compared to PHP, and it provides much better control to initialize as well as to validate forms in Hyper Text Markup Language (HTML). The Calendar Web Application comprises of Flask extensions that provided specific functionalities. For instance, Flask-SQLAlchemy was implemented to access relational database through Object-Relational-Mapper (ORM) and the creation and validation of forms in HTML is accomplish using WTForms. Furthermore, the authentication of users is handled by Flask-Login, while Flask-Principal to ensure that users do not gain unauthorized access to restricted views. Lastly, an administration page is created using Flask-admin in order to manage the data through a user-interface and Flask-SocketIO is used to initialize real time communication between client and server. Bachelor of Engineering 2018-05-22T06:58:37Z 2018-05-22T06:58:37Z 2018 Final Year Project (FYP) http://hdl.handle.net/10356/74627 en Nanyang Technological University 44 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering
spellingShingle DRNTU::Engineering
Koh, Jin Cheng
A web-based project management system
description Currently, Internet plays an important role in the modern society, and most of the applications are developed using web applications, for instance social media (Facebook), E-commerce(Amazon) and cloud storage (Dropbox), although the nature and usage of each of the application differs. Even though, Model-View-Controller (MVC) is the most widely accepted design for building web applications on, the selection of the server-side programming language is difficult as there are many options to choose from, like PHP, Java, ASP.Net, C, Node.js and Python. However, the majority of the developers utilize PHP as the server-side language due to its simplicity and large availability of documentation. Despite the benefits of using PHP, it has vulnerabilities and disadvantages such as SQL Injection attack and limited scalability. Therefore, this report would use Python-Flask as the proposed server-side language, an alternative to PHP. Since Python-Flask has great readability and uses a minimalistic approach in designing of the web application thus providing good flexibility. Furthermore, in recent years Python has rose to become one of the most popular general programming language. The objective of this report is to develop a Calendar web application using Python-Flask that allows undergraduates taking semester-based projects such as Design and Innovation Project (DIP) and Final Year Project (FYP) to edit and submit report, and to review the comments made by the supervisor. In addition, the Calendar web application also allows the user to upload the report in document formats as well as to send emails. The project has demonstrated that Python-Flask has better readability and easy syntax as compared to PHP, and it provides much better control to initialize as well as to validate forms in Hyper Text Markup Language (HTML). The Calendar Web Application comprises of Flask extensions that provided specific functionalities. For instance, Flask-SQLAlchemy was implemented to access relational database through Object-Relational-Mapper (ORM) and the creation and validation of forms in HTML is accomplish using WTForms. Furthermore, the authentication of users is handled by Flask-Login, while Flask-Principal to ensure that users do not gain unauthorized access to restricted views. Lastly, an administration page is created using Flask-admin in order to manage the data through a user-interface and Flask-SocketIO is used to initialize real time communication between client and server.
author2 Chua Hock Chuan
author_facet Chua Hock Chuan
Koh, Jin Cheng
format Final Year Project
author Koh, Jin Cheng
author_sort Koh, Jin Cheng
title A web-based project management system
title_short A web-based project management system
title_full A web-based project management system
title_fullStr A web-based project management system
title_full_unstemmed A web-based project management system
title_sort web-based project management system
publishDate 2018
url http://hdl.handle.net/10356/74627
_version_ 1772825122688729088