Cms DOCUMENTATION
Cms DOCUMENTATION
Tribhuvan University
Faculty of Humanities and Social Sciences
A PROJECT REPORT
Submitted to
Department of Computer Application
Thames International College
Submitted by
Pranish Shrestha (6-2-450-49-2019)
December 2021
Tribhuvan University
Faculty of Humanities and Social Sciences
Thames International College
Supervisor’s Recommendation
SIGNATURE
Bhagwan Thapa
SUPERVISOR
ii
LETTER OF APPROVAL
Tribhuvan University
Faculty of Humanities and Social Sciences
Thames International College
LETTER OF APPROVAL
Nawaraj Poudel
Internal Examiner External Examiner
iii
ABSTRACT
This report covers a major issue faced by most of the educational institutes in present day.
With the help of technology, this issue can be resolved easily. With this project, I aim to
solve this very problem of keeping records in physical medium i.e. papers. This project is
solely created to record various data that are important for any educational institution. The
name of this project that I have worked on is called ‘CMS’, short for ‘College Management
System’. CMS dynamically changes its functions as well as its UI according to the user
using it. It recognizes users as ‘super admin’, ‘admin’, ‘teacher’ or ‘accountant’. It also
keeps records of students, teachers, departments, faculties, subjects and also keeps records
of fee entries.
Since it is purely web based application, it can be accessed by computer, laptops as well as
mobile phones. Also it is designed with keeping friendly and simple user interface in mind
so that it can be accessed by people with diverse technical knowledge. The roles that users
get is not just for show but users get different functionalities and access according to their
respective roles. For example, managing users is the functionality that can only be accessed
by user with the role of ‘super admin’ and no any other users.
With this project, I aim to save the waste of papers and huge stationery expenses incurred
by an institution.
iv
ACKNOWLEDGEMENT
In this report, I made an effort. However, without the kind support and assistance of many
individuals and organizations, it would not have been feasible. I'd want to express my
heartfelt gratitude to each and every one of them. I owe a debt of gratitude to Mr. Bhagwan
Thapa for his direction and ongoing oversight, as well as for supplying vital project
information and assistance in finishing the report.
I'd like to thank my parents and members of Thames International College for their support
and encouragement in completing this report. I'd like to offer my heartfelt gratitude and
appreciation to those in the profession who have given me their time and attention.
My gratitude and appreciation also extend to my project development partner and those
who have volunteered to assist me with their skills.
v
TABLE OF CONTENTS
COVER PAGE .................................................................................................................... i
SUPERVISOR’S RECOMMENDATION.......................................................................ii
ABSTRACT ....................................................................................................................... iv
ACKNOWLEDGEMENT ................................................................................................. v
vi
3.2.3 Interface Design .................................................................................................... 17
4.2 Testing.......................................................................................................................... 22
REFERENCES ................................................................................................................. 29
APPENDICES .................................................................................................................. 31
vii
LIST OF FIGURES
Figure 1: System Flowchart ................................................................................................. 6
Figure 2: Waterfall Model ................................................................................................... 8
Figure 3: Super Admin Use Case Diagram .......................................................................... 9
Figure 4: Admin Use Case Diagram .................................................................................. 10
Figure 5: Teacher Use Case Diagram ................................................................................ 11
Figure 6: Accountant Use Case Diagram........................................................................... 11
Figure 7: Gantt Chart for the system.................................................................................. 13
Figure 8: ER Diagram ........................................................................................................ 14
Figure 9: Level 0 DFD Diagram ........................................................................................ 15
Figure 10: Three Tier Architectural Design ....................................................................... 16
Figure 11: Database Schema Design ................................................................................. 17
Figure 12: Home Page UI .................................................................................................. 18
Figure 13: Login Page UI .................................................................................................. 18
Figure 14: Dashboard UI ................................................................................................... 19
Figure 15: Home Page ....................................................................................................... 31
Figure 16: About Page ....................................................................................................... 31
Figure 17: Contact Page ..................................................................................................... 32
Figure 18: Signup Page ...................................................................................................... 32
Figure 19: Login Page ........................................................................................................ 33
Figure 20: Dashboard Page ................................................................................................ 33
Figure 21: Profile Page ...................................................................................................... 34
Figure 22: Student Page ..................................................................................................... 34
Figure 23: Subject Page ..................................................................................................... 35
Figure 24: Teacher Page .................................................................................................... 35
Figure 25: Faculties Page ................................................................................................... 36
Figure 26: User Management Page .................................................................................... 36
viii
LIST OF TABLES
Table 1: Hardware Requirements ...................................................................................... 12
Table 2: Software Requirements ........................................................................................ 12
Table 3: Signup page test case ........................................................................................... 22
Table 4: Login Page test case............................................................................................. 24
Table 5: Dashboard page test case ..................................................................................... 24
ix
CHAPTER 1: INTRODUCTION
1.1 Introduction
This project contains both a theoretical overview and a thorough explanation of the College
Management System. Various administrative divisions are responsible for preserving
college data and student databases at each university. These departments all have a high
amount of student records to keep track of. The majority of these documents are required
to maintain track of student data. Basic information such as a student's name, course, and
so on, as well as department-specific data, may be included in this data.
In college administration, all departments are interrelated. They are manually maintained.
As a result, they must be automated and consolidated, as data from one department will be
needed by others. When a student requests his or her completion results, for example,
various facts about the student must be checked, including his or her name, roll number,
and other information. As a result, it must seek information from all other modules.
This project is advantageous since it has a simple user interface. The system employs
sophisticated database administration, data retrieval, and data manipulation capabilities.
This project makes it easier to handle data than manually entering it into documents. The
initiative is beneficial in terms of decreasing paperwork and saving time. A variety of tools
were explored and applied to construct this system successfully. Implementing
programming languages like JavaScript, backend like node.js and databases like MySQL
are just a few examples.
The old way of keeping records is still in use. Physical records are used to collect data from
students and to maintain track of personnel information. This is a time-consuming process
that involves the hiring of additional personnel to keep the databases up to date. Because
all of the college information is stored in different systems, it takes a long time to keep
track of everything. This outdated method wastes more time, generates more paperwork,
and is thus more costly.
It is envisaged that this project would address the present issues with record keeping in the
institution utilizing the traditional and orthodox methods.
1
1.3 Objectives
The primary objective of this project is to design and implement College Management
System (CMS) for colleges or educational institution that computerizes all the details that
are recorded physically. Furthermore, the objectives of this project is:
To create a system that is easy to understand and simple to use for college personnel.
The explosive growth of Information Technology in recent times has captured the attention
of many individuals. Recognizing the diversity of the nature of IT, this report tries to utilize
the knowledge obtained from IT to implement into an application that makes daily lives of
people easier as well as preserve huge waste of paper. Although the main goal of the project
is to create a College Management System, there are other goals of this project is to learn
about programming languages, how any applications are made and also the workflow of
any development process.
The limitations are the drawbacks that occur during the implementation of the system. Even
though I have tried my best to fulfill the objectives of this project, there remains some
limitations. Following points summarizes the limitations this project contains:
2
1.5 Report Organization
There are five chapters in this report. Following points describe the organization of this
report:
The first chapter introduces the project's goals, scopes, and constraints.
The second chapter examines the background research, as well as a discussion of
similar projects and hypotheses developed by other scholars.
The third chapter covers System Analysis and Design, as well as Requirement and
Feasibility Analysis.
Implementation, testing, and debugging are discussed in Chapter 4.
Finally, in Chapter 5, the report's conclusion and prospective improvements are
discussed.
3
CHAPTER 2: BACKGROUND STUDY AND LITERATURE
REVIEW
In today’s world where everything is digitalized, I have developed this project so that we
can digitize record keeping in educational institutions also reap the benefit of modern
technology making work much easy and data keeping more reliable. Currently, many
institutions are using traditional paper based record keeping for recording data related to
the institution. This creates some major disadvantages which are listed as follows:
Since the records are paper based, it is vulnerable to elements of nature, pests and
time as well.
Searching through records for an entry is difficult and time consuming.
Huge spaces and dedicated rooms are required for storage of data.
There is no security for database.
There might be cases of data duplication.
Proper management and complete utilization of data is not possible.
Huge amount of resources must be allocated for this system.
Since the records are not centralized, not every department of institution have access to
complete data.
The primary goal of this literature review is to look at prior research, highlight key research
findings, spot trends, and develop a theoretical framework. Previous research studies have
focused on issues with Today's College Management Systems, where the gathering of data
is always growing and ever-increasing demands are placed on how that data is managed
and supplied. The globe is making mankind's information easily accessible. Colleges and
other institutions, on the other hand, continue to be challenged by the rapid proliferation of
information. In many circumstances, tools known as College management systems are used
to meet these expectations.
Physical database management takes a lot of time and money, especially for organizations
with hundreds or thousands of records. Colleges/Institutions are expanding and
4
accumulating a growing number of records. Controlling record confusion is the primary
reason institutions seek digital solutions, according to the survey.
Many researchers have made reports regarding such system that addresses mentioned
problems. Referencing and studying such reports have made this project successful.
Overall, the primary objective addressed by other researches is to build a system that
records data and helps working personnel in institutions keep their records tidy and well
managed.
Reports indicate that many educational institutions inside Kathmandu valley are switching
to digital mediums for their record keeping but institutions outside valley still are using
traditional methods for record keeping which is unreliable and expensive in the long run.
Further studying reports by other researchers, I found out that this system can be made
extremely large by adding various modules essential for managing educational institutions.
Modules like attendance system, online class system, notice system, search system, etc. can
be added to make this system much more feasible. I also found that this system is scalable
and features can be added in further updates.
‘Veda’ is a complete School Management and Digital Learning Platform. Veda helps
schools to automate daily processes and activities of schools, helps make communication
and information sharing among School Administration / Management, School Staff and
Parents efficient and cost-effective and helps schools store, retrieve and analyze data
generated by different school processes in a centralized and convenient way between. [1]
5
CHAPTER 3: SYSTEM ANALYSIS AND DESIGN
Given that this project entails the design and implementation of a software system,
regardless of whether it is web-based, it is necessary to mention and consider some software
development and deployment models. The software development models that I used for
this project is included below:
6
steps of requirements analysis, design, implementation, testing (validation),
integration, and maintenance. [3]
The waterfall model appears to be the best fit for the project's development. The key benefit
of this method is that I can concentrate on each component of the model throughout
development and return to it if necessary. Based on this concept, the project may be readily
broken down into distinct pieces.
For this model to be productive, this project has to go through the following phases:
Requirement Gathering and analysis: This phase captures all feasible needs for the
system to be created and documents them in a requirement specification document.
For this, some research was conducted and several important insights were
identified, ensuring that the system's needs, functions, and objectives were properly
understood.
System Design: This phase examines the requirements specifications from the
previous phase and prepares the system design. This system design aids in designing
the overall system architecture as well as describing hardware and system
requirements.
Implementation: The system is first built as discrete programs called units, which
are then merged in the following phase, using inputs from the system design. All
the modules were developed using JavaScript, i.e. ReactJS for frontend, Node and
Express for backend and MySQL for database.
Integration and Testing: After each unit has been tested, all of the units built during
the implementation phase are merged into a system. The complete system is then
tested for any flaws or failures after it has been integrated.
Deployment of system: The product is deployed in the client environment or
released into the market once functional and non-functional testing is completed.
Maintenance: In the client environment, there are a few challenges that arise.
Patches are published to address these vulnerabilities. In order to improve the
product, newer versions have been produced. Maintenance is carried out in order to
bring about these modifications in the customer's environment.
7
Figure 2: Waterfall Model
i. Functional Requirements
ii. Non Functional Requirements
When determining the system's needs, both functional and non-functional requirements are
taken into account. The functional requirements are user-visible features, such as login and
signup, which are often initiated by system stakeholders. Nonfunctional requirements, on
the other hand, are those that outline how the system will do what it's supposed to do, such
as usability, dependability and availability, performance, security, and maintainability.
The functional requirements that have been used in the project normally contain functions
such as inputs, processing, and ultimate output. The following are the project's functional
requirements:
8
Super Admin Module
9
Admin Module
10
Teacher Module
Accountant Module
11
The nonfunctional requirement describes the system's operation. The project's non-
functional requirements are as follows:
Technical: The proposed system is web based with data storage managed by
developers. This means that no extra hardware is required to use this system, in a
simpler term, any device (computer or smart phones) that can connect to internet
can use this system.
Operational: The proposed system is designed in such a way that it can even be used
by people who are technically challenged. The UI is designed in a simple and
understandable manner. This makes the system simple to understand and easy to
12
use. Also, this system removes the dependency upon paper record keeping and
makes record keeping exponentially easy and efficient. Furthermore, sufficient
training has been provided to ensure that users understand the system's purpose and
are comfortable with the new system. Clients are comfortable and delighted,
according to our research, because the system has reduced their workload and
doing.
Economic: This system is proposed to be a package software which drastically
reduces the price for this system. With subscription based service, any institution
can use this system with all of system’s features, without having to worry about
building and maintenance cost. Compared to tailored software, this approach is
much more economically sound.
Schedule: We designed a system that is schedule-able because it does not require
additional time for development. Each phase's time is determined by a Gantt chart,
and the stages are progressed in accordance with it.
Gantt chart
19-Dec 02-Jan 16-Jan 30-Jan 13-Feb 27-Feb 13-Mar 27-Mar 10-Apr 24-Apr 08-May 22-May
Project Proposal
Planning Stage
Analyzing Stage
Designing Stage
Development Stage
Testing Stage
Documentation
In the database system of this project, there are 8 entities. They are Role, User, Teacher,
Student, Faculty, Department, Subject and Fee. Their relationship can be viewed in the ER
diagram below:
13
Figure 8: ER Diagram
A data flow diagram (DFD) maps out the flow of information for any process or system. It
uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data
14
inputs, outputs, storage points and the routes between each destination. Data flowcharts can
range from simple, even hand-drawn process overviews, to in-depth, multi-level DFDs that
dig progressively deeper into how the data is handled. They can be used to analyze an
existing system or model a new one. Like all the best diagrams and charts, a DFD can often
visually “say” things that would be hard to explain in words, and they work for both
technical and nontechnical audiences, from developer to CEO. That’s why DFDs remain
so popular after all these years. While they work well for data flow software and systems,
they are less applicable nowadays to visualizing interactive, real-time or database-oriented
software or systems. [4]
15
3.2 System Design
This project uses 3 tier architectural design for its system. Three-tier architecture is a well-
established software application architecture that organizes applications into three logical
and physical computing tiers: the presentation tier, or user interface; the application tier,
where data is processed; and the data tier, where the data associated with the application is
stored and managed. [5]
The database schema design separates the data into different entities, specifies how to link
the organized entities together, and how to apply restrictions to the data. Designers build
database schemas to provide a logical understanding of the data to other database users
such as programmers and analysts.
Inefficiently arranged databases consume a lot of energy and resources, are often complex,
and are difficult to maintain and run. Database schema design can be thought of as a
"blueprint" for storing large volumes of data in a database. The schema is a logical
representation of the database as a whole that is represented by an abstract structure or
16
outline. Database schema design makes data easier to obtain, consume, manipulate, and
comprehend by specifying categories of data and relationships between those categories.
A few user interface designs are created before the actual project design is implemented to
illustrate the user interaction with the system as they do actions.
17
Figure 12: Home Page UI
18
Figure 14: Dashboard UI
19
CHAPTER 4: IMPLEMENTATION AND TESTING
4.1 Implementation
The phase during which the system is actually created is known as implementation. To
begin, all of the data we acquired is reviewed, evaluated, and then integrated as a system
for users. It's one of the most crucial stages in any project. Coding, testing, installation,
documentation, training, and support are all part of the implementation process. The various
tools and technologies that were employed in the development of the system are also
highlighted. It is the process of transforming a system design specification into usable
software.
This chapter discusses the many system tools that were utilized in the development of the
project's frontend and backend.
React JS: React (also known as React.js or ReactJS) is a free and open-source front-
end JavaScript library for building user interfaces based on UI components. It is
maintained by Meta (formerly Facebook) and a community of individual developers
and companies. React can be used as a base in the development of single-page or
mobile applications.
Node JS: Node.js is an open-source, cross-platform, back-end JavaScript runtime
environment that runs on the V8 engine and executes JavaScript code outside a web
browser.
MySQL: MySQL is an Oracle-backed open source relational database management
system (RDBMS) based on Structured Query Language (SQL). MySQL runs on
virtually all platforms, including Linux, UNIX and Windows. [6]
Draw.io: diagrams.net (previously draw.io) is a free and open source cross-
platform graph drawing software developed in HTML5 and JavaScript. Its interface
can be used to create diagrams such as flowcharts, wireframes, UML diagrams,
organizational charts, and network diagrams. The web app does not require online
login or registration, and can open from and save to the local hard drive. Supported
storage and export formats to download include PNG, JPEG, SVG, and PDF.
VS Code: Visual Studio Code is a lightweight but powerful source code editor
which runs on your desktop and is available for Windows, macOS and Linux. It
20
comes with built-in support for JavaScript, TypeScript and Node.js and has a rich
ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP,
Go) and runtimes (such as .NET and Unity). [7]
It was time to start implementing the application when the design was completed and the
issues that arose throughout the design phase were defined and resolved. The application
of this scale necessitates a large amount of resources, and the entire implementation
procedure will not be explained in this paper. However, the implementation's most
significant aspects will be discussed. The following are some of the College Management
System's modules:
Front content: Upon visiting the website, users are greeted with a front content page
that describes the project briefly with pages like contact and about to guide users.
Signup: This project embraces a unique method for signing up new users. This
project doesn’t let any new user signup but submit their data to us so we can setup
this system in their institution.
Login: This module lets user login the system and access the dashboard where most
of the functionalities resides.
Student module: This module is related to records of students. Authorized user can
create, read, update and delete student records.
Teacher module: This module is related to records of teachers. Authorized user can
create, read, update and delete teacher records. Creating a teacher record also
automatically creates teacher user.
Subject module: This module is related to records of subjects. Authorized user can
create, read, update and delete subject records.
Faculty module: This module is related to records of faculties. Authorized user can
create, read, update and delete faculty records.
Department module: This module is related to records of departments. Authorized
user can create, read, update and delete department records.
Managing users: This module is related to users that can login the system. Only
Super Admin has the authority to create new users and manage them.
21
Fee module: This module is related to records of fee entries. Only Accountant has
the authority to create, update and delete records while both accountant and super
admin can view fee entries.
4.2 Testing
Testing is carried out to ensure that a complete and fully integrated software product
behaves as specified in the software requirement specification document. The application
or website must be tested before it can be deployed. As a result, test cases are created to
evaluate this application. Performance, functionality, database loading time, response time,
server time handling, user activities, and many other sorts of tests can be performed on a
web application. Functionality, security, and performance are the primary concerns. The
following are some of the sorts of testing that have been conducted:
Check that all of the required fields are present on the forms.
Check that dropdowns, radio buttons, date pickers, and other UI elements are
appropriately displayed for a better user experience.
Check that hitting the submit button after filling out all of the needed fields sends
the information to the server.
Check that hitting the cancel button stops the form from being filled out.
Validate the date and email boxes for accuracy (only valid dates and valid email
are allowed).
Check that numeric fields don't accept alphabetical or special characters during
validation.
22
Institution Address:
‘Kathmandu’
SU_2 User inputs Name: ‘John Doe’ Display As PASS
invalid Contact: 9823567410 message: expected
email. Email: ‘johngmail.com’ **Invalid
Institution Name: ‘ABC Email**
Institution’
Institution Address:
‘Kathmandu’
SU_3 User inputs Name: ‘John Doe’ Display As PASS
alphabet in Contact: ‘contact’ message: expected
contact Email: ‘johngmail.com’ **Only
Institution Name: ‘ABC numerical
Institution’ values are
Institution Address: accepted**
‘Kathmandu’
SU_4 User inputs Name: 123 Display As PASS
numbers in Contact: ‘contact’ message: expected
name Email: ‘johngmail.com’ **Only
Institution Name: ‘ABC alphabetical
Institution’ values are
Institution Address: accepted **
‘Kathmandu’
SU_5 User inputs Name: ‘John Doe’ Submits form As PASS
all fields Contact: 9823567410 expected
correctly. Email:
‘[email protected]’
Institution Name: ‘ABC
Institution’
Institution Address:
‘Kathmandu’
23
Table 4: Login Page test case
24
with table
displayed.
DA_4 User press Click on Opens As PASS
TEACHERS TEACHERS button teacher page expected
button with table
displayed.
DA_5 User press Click on FACULTY Opens As PASS
FACULTY button faculty page expected
button with table
displayed.
DA_6 User press Click on Opens As PASS
DEPARTMENT DEPARTMENT department expected
button button page with
table
displayed.
DA_7 User press FEE Click on FEE button Opens fee As PASS
button page with expected
table
displayed.
DA_8 User press USER Click on USER Opens user As PASS
MANAGEMENT MANAGEMENT management expected
button button page with
table
displayed.
DA_8 User press Click on LOGOUT Logs out of As PASS
LOGOUT button button the system. expected
System testing is putting a fully integrated software system to the test. In most cases, a
computer system is built by combining software (any software is only a single element of
a computer system). The program is created in modules, which are then combined with
other software and hardware to form a complete computer system. To put it another way, a
computer system consists of a collection of software that performs various functions; but,
25
software alone cannot accomplish the work; it must be interfaced with appropriate
hardware. System testing is a collection of several types of tests designed to exercise and
assess the overall functionality of an integrated software computer system in comparison
to its requirements. Results of the testing are listed below:
Regression Testing: It has been determined that there are no defects in the system
as a result of changes made to other parts of the system.
Load Testing: The system has been validated to manage real-time loads and is suited
for small to medium-sized institutions.
Functional Testing: It has been established that the system includes all of the
features listed in the proposal.
26
CHAPTER 5: CONCLUSION AND FUTURE
RECOMMENDATIONS
This project was extremely instructive for me because it allowed me to discover how real-
world programs that we use every day are created. I was also able to learn in depth about
javascript, ReactJS, mySQL, and a variety of other tools and technologies. This has been
one of my most successful projects, and while the process of developing it was not always
pleasant, it was more enlightening than any other study I've done.
Upon completion of this project, following are the expected outcomes that I have achieved:
A fully functional web application that manages daily recording of college data.
Increase in productivity of college personnel.
Increase in security of data.
Decrease in expenses caused by traditional record keeping.
5.2 Conclusion
Institutions can readily record their data after the College Management System is
completed. All of the aforementioned goals were met by this application. I completely
followed the standards, however I extended some functions where necessary. There were
difficulties in developing the backend and ensuring that the application responded as
expected.
It was a great option to utilize JavaScript for this project because it is straightforward to
comprehend and use. Additionally, employing this language made the application much
easier to design and use. Because it is a widely popular language with a large community,
resolving problems and bugs was easier than anticipated.
As I neared the end of the project, I noticed that the program could benefit from a number
of improvements. Some of these suggestions came from the app's testers, while others came
from me. I chose to follow the specifications because they were feasible to do in the time
allotted. Any more improvements to the application can be made in the future.
27
5.3 Future Recommendations
There is a lot to be done in this application but this project can be considered as a beginning
of that vision. Some of the improvements that can be implemented in the future are:
Search Feature
Bulk Insert
Attendance, Exam and class routine for students
Report generation and downloadable in various formats
28
REFERENCES
[1] "School and College Management System - Veda MIS & ERP for Schools," Veda,
[Online]. Available: https://veda-app.com. [Accessed 12 January 2022].
[8] TechTarget Contributor, "What is Spiral Model and How is it Used?," TechTarget,
[Online]. Available:
https://www.techtarget.com/searchsoftwarequality/definition/spiral-
model#:~:text=The%20spiral%20model%20is%20a,large%2C%20expensive%20and
%20complicated%20projects.. [Accessed 8 January 2022].
29
https://economictimes.indiatimes.com/definition/rapid-application-development.
[Accessed 8 January 2022].
30
APPENDICES
31
Figure 17: Contact Page
32
Figure 19: Login Page
33
Figure 21: Profile Page
34
Figure 23: Subject Page
35
Figure 25: Faculties Page
36