You are on page 1of 78

A Project Report on

“CENTRAL TRAINING INSTITUTE MANAGEMENT SYSTEM”


For
DIRECTORATE OF ACCOUNTS AND TREASURIES, Guwahati,
Government of Assam.

(A project report submitted for partial fulfilment of the requirement for the Degree of

Master of Computer Applications (MCA), Guwahati University, Guwahati, Assam)


DEPARTMENT OF COMPUTER APPLICATIONS
ASSAM ENGINEERING COLLEGE

Submitted By:
Pranjal Das
Roll No: MCA/17/19
BATCH (2017-2020)

Under The Guidance And Supervision of

Internal Guide: External Guide:


Dr. Subhrajyoti Bordoloi. Mr Achyot Gogoi.
Head of the Department & Associate professor, System Operator

Department of Computer Applications, DOAT, Assam,

Assam Engineering College, Ghy-13 New Kar Bhawan, Ganeshguri, Ghy-06


DEPARTMENT OF COMPUTER APPLICATIONS
ASSAM ENGINEERING COLLEGE
ASSAM SCIENCE AND TECHNOLOAGY UNIVERSITY
GUWAHATI-13
ASSAM

CERTIFICATE

This is to certify that Pranjal Das, a student of 6th semester MCA (Batch year 2017-2020),
Department of Computer Applications, Assam Engineering College has successfully carried
out his project work entitled “CENTRAL TRAINING INSTITUTE MANAGEMENT
SYSTEM” for the Organization, DIRECTORATE OF ACCOUNTS AND TREASURIES,
Guwahati-6, under the guidance and supervision of our faculty.

I wish him success in all their future endeavors.

Date: (Dr. Subhrajyoti Bordoloi)


Place: Head of the Department

Department Of Computer Applications


Assam Engineering College, Guwahati-13
DEPARTMENT OF COMPUTER APPLICATIONS
ASSAM ENGINEERING COLLEGE
ASSAM SCIENCE AND TECHNOLOGY UNIVERSITY
GUWAHATI-13
ASSAM

CERTIFICATE

This is to certify that Pranjal Das, a student of 6th semester, department of Computer
Applications, Assam Engineering College, completed his project entitled “CENTRAL TRAINING
INSTITUTE MANAGEMENT SYSTEM”, submitted in partial fulfilment of the award of the
degree of Master of Computer Applications.
This project was carried out under my guidance and supervision for a period of six months. During
the period of his association with me, I found his performance to be good.
He has completed his project successfully. I wish him good luck and success in life.

Date: Internal Guide

Place: Dr. Subhrajyoti Bordolo

HOD & Associate professor

Department Of Computer Applications


Assam Engineering College,Guwahati-13
ACKNOWLEDGEMENT

First and foremost, I would like to thank the Almighty for giving me strength and will to
complete my project.

I am very grateful to my project external guide Mr. Achyot Gogoi sir for giving his valuable
time and constructive guidance in preparing the project. I would also like to thank all the
senior programmers of DOAT Guwahati who helped me out in completing my project. It
would not have been possible to complete this project in short period of time without their
kind encouragement and valuable guidance.

I convey my sincere thanks to the my project internal guide Dr. Subhrajyoti Bordoloi sir for
giving his valuable time and guidance in preparing the project and also the teachers of MCA
Department of Assam Engineering College for providing me the suggestions to develop my
project in a better way.

Finally, I would like to thank all my friends and my family members for their constant
support and love which gave me strength to carry on my project.

Date: Pranjal Das


Place: MCA 6th Semester
Roll No : MCA 17/19
DECLARATION

I hereby declare that the project report is an authentic record of my project “Central Training
Institute Management System” carried out under the guidance of my internal guide Dr.
Shubhrajyoti Bordoloi, Head of the Department and Associate Professor, Department of
Computer Applications, Assam Engineering College and my external guide Mr Achyot
Gogoi, System Operator, Directorate of Accounts and Treasuries department, New Kar
Bhawan Guwahati-6.
The project work is my original work and no part of it has been submitted for any other
purpose or published in any other form till date.

Date: Pranjal Das

Place: Roll No. 17/19

MCA 6th Semester

Department of Compute Applications

Assam Engineering College, Ghy-13


ABSTRACT

The “Central Training Institute management System” is a web based application that allows
to create and manage various trainings being conducted by the Directorate of Accounts and
Treasuries (DOAT). The Employees of Treasuries department all over assam can apply for
the training programmes using the system and upon completion of the training, a
examination could be organized. The system will generate various reports related to the
training programmes.
CONTENTS
CHAPTER 1: ABOUT THE ORGANIZATION

1.1 INTRODUCTION
1.2 DOAT GUWAHATI
1.3 DIVISIONS AND OBJECTIVES
1.4 CONTACT DETAILS

CHAPTER 2. REQUIREMENT ANALYSIS AND SPECIFICATION


2.1 PROBLEM STATEMENT
2.2 THE PROPOSED SYSTEM
2.3 OBJECTIVE OF THE PROPOSED SYSTEM
2.4 SCOPE OF THE SYSTEM
2.5 REQUIREMENT SPECIFICATION

CHAPTER 3. FEASIBILITY STUDY


3.1 INTRODUCTION
3.1.1 ECONOMIC FEASIBILITY
3.1.2 TECHNICAL FEASIBILITY
3.1.3 BEHAVIORAL FEASIBILITY

CHAPTER 4 : TOOLS AND TECHNOLOGY USED


4.1 TOOLS AND TECHNOLOGY
4.1.1 SPRING BOOT
4.1.2 JAVA 1.8
4.1.3 MYSQL80
4.1.4 HIBERNATE
4.1.6 HTML
4.1.7 CSS
4.1.8 BOOTSTRAP
4.1.9 AJAX
4.1.10 JAVASCRIPT
4.1.11 JQUERY
4.1.12 JSON
CHAPTER 5. SYSTEM DESIGN
5.1 ENTITY-RELATIONSHIP DIAGRAM
5.2 UML DIAGRAMS

CHAPTER 6. SYSTEM TESTING


6.1 OVERVIEW OF SYSTEM TESTING

CHAPTER 7. CONCLUSION AND FUTURE SCOPE


7.1 CONCLUSION
7.2 FUTURE SCOPE

CHAPTER 8. APPENDIX
8.1 SCREENSHOTS

8.2 BIBLIOGRAPHY
CHAPTER 1

ABOUT THE ORGANIZATION


CHAPTER 1 : ABOUT THE ORGANIZATION

1.1 Introduction
Secretariat Administration Department originally formed a part of the Establishment Branch of the
Finance Department. In 1930, there were only 5 Secretariat Departments and a few branches with clerical
strength of 35 Upper Division assistants and 124 Lower Division Assistants under 5 Head Assistants
working under the administrative control of the Registrar who functioned directly under the Chief
Secretary.

The Establishment Branch then consisted of an Accountant in charge of the Branch, 2 Upper Division
Assistants, 2 Lower Division Assistants and a Diarist. The Nazarat was then a part of the then General
and Judicial Department. There was no Issue Branch and the Departments had to do the receipt and issue
work themselves till 1939 when this branch was created to centralize issue of dak in the Secretariat.

Due to the Second World War and after attainment of Independence, the work-load increased and with
the constitution of many new departments, a separate Secretariat Administration Department was
constituted in 1952. It has continued since then and now consists of the branches viz. Establishment (both
Gazetted and Non-Gazetted), Nazarat, Accounts, Vehicle, Issue, and Record & Library.

Cadre Strength under Secretariat Service


1.2 The Directorate of Accounts and Treasuries, Assam

The post of the Director of Accounts was created in the year 1957 under Govt. Notification
No.ABP.23/57/1, dated 8th February, 1957 and started its functioning with effect from 15th February,
1957. The office of the Director was treated as an attached office to the Finance Department and was
under the control of the Finance Department. The Director of Accounts, Assam was declared as Head of
Department with effect from 1st April, 1964 vide Govt. Notification No.FEG.13/65/4, dated 22nd
February 1965. The functions of the Director of Accounts was mainly for administration of P.W.
Accounts staff envisaged in the Services Rule viz. “Assam Subordinate Accounts Services Rule, 1963”
now renamed as Assam Accounts services and as an Inspector of Treasuries. The Director of Accounts
was re-designated as “The Director of Accounts and Treasuries” with additional functions in respect of
Treasury as Head of Department vide Govt. Notification No.FE.1374/87/1, dated 27th October, 1987.

The Directorate of Accounts and Treasuries, Assam is a heads of department under Finance Department of
Government of Assam as declared by Government and listed in the Schedule IV of the Delegation of
Financial Power Rules of Government of Assam. The Directorate is headed by Director from the Assam
Finance Service (AFS) cadre and he is assisted by a group of AFS officers viz. Joint Director (two nos),
Deputy Director (one no), Sr. Finance & Accounts Officer (one nos) and Finance & Accounts Officer (two
nos). Further, the Director is assisted by a technical team of CTIMS headed by System
Administrator,CTIMS with Asstt. System Administrator , System Operator etc. Special Officer (NPS),
Administrative officer, Superintendents with ministrial staff also assist the Director to cary out the smooth
functioning of the Directorate. Some important functions of the Directorate are as stated below:

Functions of Directorate of Accounts & Treasuries:

 Administration of Treasury Business through CTMIS.


 Co-ordination with RBI.
 Budgetary Control of Treasury.
 Inter District Transfer of Treasury Staff.
 Inspection of Treasuries.
 Monitoring of Monthly submission of treasury Accounts to AG.
 Amendment of Treasury Rules and Regulations.
 Training of AFS/AAS/Treasury Accounts Service and staff of HoD and District Offices.
 Management establishment in respect of Deputy/Assistant accounts Officers of Works Division.
 Implementation of NPS Control, collection and transfer of NPS fund.
 Preparation of database of employees and pensioners.
 Control of post strength of all DDO’s.

1.3 Divisions
Directorate of Archives, Assam: It is the only Directorate under administrative control of Secretariat
Administration Department. It is headed by a Director. It is the nodal agency of the Government in regard
to archival management of non-current public records by means of scientific up-keep and preservation.
The Directorate of Archives is the Central repository of the non-current record of entire state
administration including Secretariat, Heads of Departments, Divisions, Districts and Subordinate offices.
Here, the records are preserved and made available for research and other official and non-official uses.

Objective:
The chief objective of Directorate of Archives is to provide easy access to archival records to the scholars
& researchers

Activities undertaken by Secretariat Administration Department


o Acquisition of record from different Departments
o Preparation of Indices.
o Repair of brittle and damaged records under different processes of lamination.
o Binding of repaired records and maps.
o Computerization of records in 'AIMS' software for easy retrieval.
o Scanning of records and maps.
o Microfilming of records.
o Advancing facilities of creating agencies, government departments, research scholars and for
reference & research.
o The reference media of 30,000 numbers of library books, reports, maps has been computerized in
'KOHA' software and all the books have been bar-coded and hence, scholars or visitors can access the
indices/titles of books, reports etc. on the internet.
o Around 2(two) lakh files (pre 1874-1979) have been listed and thematically arranged and kept
systematically in hard board carton boxes in the shelves.
o The reference media of files/reports (around 1.5 lakh) has been computerized in 'AIMS' software.
At present records up to 1957 are now easily retrieved and made available to scholars.
o Files of the Special Branch (Police) from 1935 to 1947 have been digitized and made available in
the Archives.
o Better facilities for scholars including air conditioning of research room with suitable furniture,
computer for accessing indices of records and library books etc.
o Renovation of library and conference room, conservation room, repographic room and data entry
room with all required facilities have been completed.
o Construction of reception room, fumigation room and security room has also been completed.
o New fumigation chamber, microfilm equipments and A0 size Flatbed scanner have been intsalled.
o Around 300 nos. of Research Scholars from India and abroad have enrolled during 2014- 2015.

1.4 Contact Details:


Directorate of Accounts and Treasuries
5th floor, New Kar Bhawan, Ganeshguri,
Dispur, Guwahati, Assam 781006
Phone: 0361- 2232507 / 0361-2232508
Website: doatfinance.assam.gov.in
Email:director_treasury@rediffmail.com,
assam_treasury@rediffmail.com
CHAPTER 2

REQUIREMENT ANALYSIS AND


SPECIFICATION
CHAPTER 2: REQUIREMENT ANALYSIS AND SPECIFICATION

2.1 PROBLEM STATEMENT

To create a web based application ‘Central Training Institute Management System’ to


manage various training programmes conducted by DOAT and to let the candidates apply
directly to the training programmes using the application. The application should also
maintain different functionalities throughout the whole Training period.

2.2 THE PROPOSED SYSTEM

• The proposed system is developed mainly for managing various training programmes
conducted which are for the employees of Treasuries department of all Assam.

• The CTI admin will create and manage the training programmes using the system.

• The Candidates can apply to the training programmes using the system .

• Once selected, the Candidates will be notified through the CTI main website and can
also users could login to the system and view all the details related to training.

• During the Training program attendance and remarks to the Trainee could be given
through the system.

• The system will generate various reports related to training.

2.3 OBJECTIVE OF THE SYSTEM


2.3.1 GENERAL OBJECTIVES
General objective of the project is to change the current manual system to
computerized one.

2.3.2 SPECIFIC OBJECTIVES


• CTI Management System allows online creation of training and eligible candidates
can apply online.
• Responses by the candidates can be checked automatically.
• It reduces time consumption.
• Being an integrated online system, it reduces the paper work.
• To allow CTI admin to create and manage training.
• To allow users to raise objection if he is a eligible with the criteria of the Training
program but he is not shortlisted.
• To take day-to-day attendance of Trainees of a ongoing training program.
• To conduct examination after completion of Training program.

2.4 SCOPE OF THE SYSTEM

Scope of this project is very broad in terms of other manually taking system.

Few of them are:

• Can be used anywhere anytime as it is a web based application(user location doesn’t


matter)
• Designed to facilitate DOAT department to organize Trainings, Trainers and all the
Trainees.
2.5 REQUIREMENT SPECIFICATION

2.5.1 FUNCTIONAL REQUIREMENT

Required software is for managing various training programmes being conducted by


the DOAT. The system should satisfy the following requirements.

2.5.1.1 USER REQUIREMENTS

 Admin-
 Manage Training Programs (Create, Update, Delete).
 Manage Trainer (Add Trainer, allot training program to him
 Manage Training Applications (view, accept, reject, publish).
 Import Training Applications through excel sheet.
 Resolve Application objections.
 Notify Trainees and Trainers about different activities.
 Manage Training attendance (give attendance, remarks).
 Manage Training Exams (Conduct Examination, provide marks).

 Trainee
 Register themselves in the system and manage their Trainee information.
 Check Training application status and update application.
 Raise objection against Training Applications.
 Check and Push notification message.
 Give attendance of ongoing Training and check details.
 Check past Training details like marks secured, attendance etc.

 Trainer-
 Check Training applications of a particular Training program and manage them.
 Give attendance and remarks of any Trainee regarding a ongoing Training program.
 Postpone and reschedule a Training Program for a particular day training.

2.5.2 NON FUNCTIONAL REQUIREMENT


The non-functional requirements are-
1. Performance

This application will support use of multiple users at a time. The application will also
work with mobile devices.

2. Availability
Candidates can apply for training programmes when it is available and upon selection
for the training programme then they will get notified. Candidates will be able to log
in to the system to view training details and to download certificate once the training
is completed.

The WDC can create training programmes anytime using the system.

3. Security

Application will allow only valid and authorized users to access the system. Access to
any application resource will depend upon user’s role. The system is developed in
such a way that it will prevent XSS, SQL Injection, CSRF, Broken Authentication
and various types of attacks.

4. Maintainability

The installation and operation manual of CTI management system will be provided to
the user.
CHAPTER 3 FEASIBILITY STUDY
CHAPTER 3: FEASIBILITY STUDY

3.1 INTRODUCTION
A feasibility study is conducted to select the best system that meets performance
requirements. This entails an identification description, an evaluation of proposed systems,
and the selection of the best system for job. Once the scope have been identified the
reasonable questions asks for the project that is feasible or not are-

• What are the user’s demonstrable needs?

User needs a web-based system, which will remove all the above-mentioned Problems
that, the user is facing. The user wants a web-based system, which will reduce the
bulk of paperwork, provide ease of work, flexibility, fast record finding, modifying,
adding, removing and generating the reports.

• How can the problem be redefined?


We proposed our perception of the system, in accordance with the problems of
existing system by making a full layout of the system on paper. We concerned about
the problems and needs by existing system and requirements. We were further
updating in the layout in the basis of redefined the problems.

In feasibility study phase we had undergone through various steps, which are described as
under:

3.1.1 ECONOMIC FEASIBILITY


Economic analysis is most frequently used for evaluation of the effectiveness of the system.
More commonly known as cost/benefit analysis the procedure is to determine the benefit and
saving that are expected from a system and compare them with costs, decisions is made to
design and implement the system. How feasible is the system proposed? This was analyzed
by comparing the following factors with both the existing system and proposed system.

Cost
The cost required in the proposed system is comparatively less to the existing system.
Effort

Compared to the existing system the proposed system will provide a better working
environment in which there will be ease of work and the effort required will be
comparatively less than the existing system.

Time

Also the time required generating a report or for doing any other work will be
comparatively very less than in the existing system. Record finding and updating will
take less time than the existing system.

Labour

In the existing system the number of staff required for completing the work is more
while the new system will require quite less number of staff.

3.1.2 TECHNICAL FEASIBILITY


Technical feasibility focuses on the existing manual system and to what extent it can
support the system. According to feasibility analysis procedure the technical feasibility of the
system is analyzed and the technical requirements such as software facilities, procedure,
inputs are identified. It is an evaluation of hardware and software and how it meets the needs
of the proposed system.

• HTML is used to create web pages.

• Spring boot framework is used which is a Java based and open source .

• MySQL is used for storing data.

• Hardware requirements used are compatible with all operating system.

• Only authorized person would be able to use the website so it would be secure.

3.1.3 BEHAVIORAL OR OPERATIONAL FEASIBILITY


The main objective of operational feasibility is to access the condition in which the design
of a new system will be able to function within the existing framework of an organization.
The operational feasibility of the present project is achieved through the following measures-

 Suitable codes are used to generate reports (records registered by the user) in the

project.

 Moreover, user manual and help facilities to facilitate better understanding and
operation of the system.

The proposed system will outlive the totals performance. Efficiency will improve, as there
will be less manual work. As the proposed system would be easy to use, and it doesn’t not
require special training and a user can be trained within an hour or so to operate the system.
So the proposed system is operationally feasible.
CHAPTER 4

TOOLS AND TECHNOLOGY USED

CHAPTER 4 : TOOLS AND TECHNOLOGY USED

4.1 TOOLS AND TECHNOLOGY

Operating System: Microsoft Windows 10


Web Server : Tomcat server (Spring boot integrated server)
Database : MySQL80
Programming Language : JAVA 1.8
Framework : Spring Boot 2.3.2
Dependency Manager : Maven
Front End : HTML, CSS, Bootstrap , JavaScript , jQuery, Ajax
Data Exchange Format : JSON

Code Editor : Visual Studio Code, IntelliJ IDEA

4.1.1 SPRING BOOT

Spring Boot is a project that is built on the top of the Spring Framework. It provides an easier and faster
way to set up, configure, and run both simple and web-based applications.

It is a Spring module that provides the RAD (Rapid Application Development) feature to the Spring
Framework. It is used to create a stand-alone Spring-based application that you can just run because it
needs minimal Spring configuration.

In short, Spring Boot is the combination of Spring Framework and Embedded Servers.

In Spring Boot, there is no requirement for XML configuration (deployment descriptor). It uses
convention over configuration software design paradigm that means it decreases the effort of the
developer.

We can use Spring STS IDE or Spring Initializr to develop Spring Boot Java applications.

Why should we use Spring Boot Framework?

We should use Spring Boot Framework because:


 The dependency injection approach is used in Spring Boot.
 It contains powerful database transaction management capabilities.
 It simplifies integration with other Java frameworks like JPA/Hibernate ORM, Struts, etc.
 It reduces the cost and development time of the application.

Along with the Spring Boot Framework, many other Spring sister projects help to build applications
addressing modern business needs. There are the following Spring sister projects are as follows:

 Spring Data: It simplifies data access from the relational and NoSQL databases.
 Spring Batch: It provides powerful batch processing.
 Spring Security: It is a security framework that provides robust security to applications.
 Spring Social: It supports integration with social networking like LinkedIn.
 Spring Integration: It is an implementation of Enterprise Integration Patterns. It facilitates
integration with other enterprise applications using lightweight messaging and declarative
adapters.

Advantages of Spring Boot


 It creates stand-alone Spring applications that can be started using Java -jar.
 It tests web applications easily with the help of different Embedded HTTP servers such as
Tomcat, Jetty, etc. We don't need to deploy WAR files.
 It provides opinionated 'starter' POMs to simplify our Maven configuration.
 It provides production-ready features such as metrics, health checks, and externalized
configuration.
 There is no requirement for XML configuration.
 It offers a CLI tool for developing and testing the Spring Boot application.
 It offers the number of plug-ins.
 It also minimizes writing multiple boilerplate codes (the code that has to be included in many
places with little or no alteration), XML configuration, and annotations.
 It increases productivity and reduces development time.

Spring Boot Features


 Web Development
 SpringApplication
 Application events and listeners
 Admin features
 Externalized Configuration
 Properties Files
 YAML Support
 Type-safe Configuration
 Logging
 Security

4.1.2 JAVA 1.8

Java is a programming language and computing platform first released by Sun Microsystems in 1995.
There are lots of applications and websites that will not work unless you have Java installed, and more are
created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to
scientific supercomputers, cell phones to the Internet, Java is everywhere!

Java 8 provides following features for Java Programming:

 Lambda expressions,
 Method references,
 Functional interfaces,
 Stream API,
 Default methods,
 Base64 Encode Decode,
 Static methods in interface,
 Optional class,
 Collectors class,
 ForEach() method,
 Parallel array sorting,
 Nashorn JavaScript Engine,
 Parallel Array Sorting,
 Type and Repating Annotations,
 IO Enhancements,
 Concurrency Enhancements,
 JDBC Enhancements etc.
4.1.3 MySQL80

MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses. MySQL is
developed, marketed and supported by MySQL AB, which is a Swedish company. MySQL is becoming so
popular because of many good reasons −

 MySQL is released under an open-source license. So you have nothing to pay to use it.
 MySQL is a very powerful program in its own right. It handles a large subset of the functionality of
the most expensive and powerful database packages.
 MySQL uses a standard form of the well-known SQL data language.
 MySQL works on many operating systems and with many languages including PHP, PERL, C, C+
+, JAVA, etc.
 MySQL works very quickly and works well even with large data sets.
 MySQL is very friendly to PHP, the most appreciated language for web development.
 MySQL supports large databases, up to 50 million rows or more in a table. The default file size
limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a
theoretical limit of 8 million terabytes (TB).
 MySQL is customizable. The open-source GPL license allows programmers to modify the MySQL
software to fit their own specific environments.

4.1.4 HTML

Hyper Text Markup Language, commonly referred to as HTML, is the standard markup
language used to create web pages. It is written in the form of HTML elements consisting of
tags enclosed in angle brackets (like <html>). HTML tags most commonly The first tag in
such a pair is the start tag, and the second is the end tag (they are also called opening tags
and closing tags).

Web browsers can read HTML files and render them into visible or audible web pages.
Browsers do not display the HTML tags and scripts, but use them to interpret the content of
the page. HTML describes the structure of a website semantically along with cues for
presentation, making it a markup language, rather than a programming language.

HTML elements form the building blocks of all websites. HTML allows images and objects
to be embedded and can be used to create interactive forms. It provides a means to create
structured documents by denoting structural semantics for text such as headings, paragraphs,
lists, links, quotes and other items.

It can embed scripts written in languages such as JavaScript which affect the behaviour of
HTML web pages.

4.1.5 CASCADING STYLE SHEET (CSS)

Cascading Style Sheets (CSS) is a style sheet language used for describing the look and
formatting of a document written in a markup language. While most often used to change the
style of web pages and user interfaces written in HTML and XHTML, the language can be
applied to any kind of XML document, including plain XML, SVG and XUL. Along with
HTML and JavaScript, CSS is a cornerstone technology used by most websites to create
visually engaging WebPages, user interfaces for web applications, and user interfaces for
many mobile applications.

CSS is designed primarily to enable the separation of document content from document
presentation, including elements such as the layout, colors, and fonts. This separation can
improve content accessibility, provide more flexibility and control in the specification of
presentation characteristics, enable multiple HTML pages to share formatting by specifying
the relevant CSS in a separate .css file, and reduce complexity and repetition in the structural
content, such as semantically insignificant tables that were widely used to format pages
before consistent CSS rendering was available in all major browsers. CSS makes it possible
to separate presentation instructions from the HTML content in a separate file or style
section of the HTML file. For each matching HTML element, it provides a list of formatting
instructions. For example, a CSS rule might specify that "all heading 1 elements should be
bold," leaving pure semantic HTML markup that asserts "this text is a level 1 heading"
without formatting code such as a <bold> tag indicating how such text should be displayed.
4.1.6 BOOTSTRAP

Bootstrap is a web framework that focuses on simplifying the development of informative


web pages (as opposed to web apps). The primary purpose of adding it to a web project is to
apply Bootstrap's choices of color, size, font and layout to that project. As such, the primary
factor is whether the developers in charge find those choices to their liking. Once added to a
project, Bootstrap provides basic style definitions for all HTML elements. The end result is a
uniform appearance for prose, tables and form elements across web browsers. In addition,
developers can take advantage of CSS classes defined in Bootstrap to further customize the
appearance of their contents. For example, Bootstrap has provisioned for light- and dark-
colored tables, page headings, more prominent pull quotes, and text with a highlight.

Bootstrap also comes with several JavaScript components in the form of jQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels. Each
Bootstrap component consists of an HTML structure, CSS declarations, and in some cases
accompanying JavaScript code. They also extend the functionality of some existing interface
elements, including for example an auto-complete function for input fields.

The most prominent components of Bootstrap are its layout components, as they affect an
entire web page. The basic layout component is called "Container", as every other element in
the page is placed in it. Developers can choose between a fixed-width container and a fluid-
width container. While the latter always fills the width of the web page, the former uses one
of the four predefined fixed widths, depending on the size of the screen showing the page:

• Smaller than 576 pixels


• 576–768 pixels
• 768–992 pixels
• 992–1200 pixels
• Larger than 1200 pixels
Once a container is in place, other Bootstrap layout components implement a CSS grid
layout through defining rows and columns.

A precompiled version of Bootstrap is available in the form of one CSS file and three
JavaScript files that can be readily added to any project. The raw form of Bootstrap, however,
enables developers to implement further customization and size optimizations. This raw form
is modular, meaning that the developer can remove unneeded components, apply a theme and
modify the uncompiled Sass files.

4.1.7 AJAX

AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for creating
better, faster, and more interactive web applications with the help of XML, HTML, CSS, and
Java Script. Ajax uses XHTML for content, CSS for presentation, along with Document
Object Model and JavaScript for dynamic content display. AJAX is a web browser
technology independent of web server software. A user can continue to use the application
while the client program requests information from the server in the background.

Conventional web applications transmit information to and from the sever using synchronous
requests. It means we have to fill out a form, hit submit, and get directed to a new page with
new information from the server. With AJAX, when we hit submit, JavaScript will make a
request to the server, interpret the results, and update the current screen. In the purest sense,
the user would never know that anything was even transmitted to the server.XML is
commonly used as the format for receiving server data, although any format, including plain
text, can be used.

Steps of AJAX Operation

 A client event occurs.


 An XMLHttpRequest object is created.
 The XMLHttpRequest object is configured.
 The XMLHttpRequest object makes an asynchronous request to the Webserver.
 The Webserver returns the result containing XML document.
 The XMLHttpRequest object calls the callback() function and processes the
result.
 The HTML DOM is updated.
4.1.8 JAVASCRIPT

JavaScript is what is called a Client-side Scripting Language. That means that it is a


computer programming language that runs inside an Internet browser (a browser is also
known as a Web client because it connects to a Web server to download pages). The way
JavaScript works is interesting. Inside a normal Web page one can place some JavaScript
code. When the browser loads the page, the browser has a built-in interpreter that reads the
JavaScript code it finds in the page and runs it.

Web page designers use JavaScript in many different ways. One of the most common is to do
field validation in a form. Many Web sites gather information from users in online forms,
and JavaScript can help validate entries.

JavaScript is also used in environments that aren't web-based, such as PDF documents, site
specific browsers, and desktop widgets. Newer and faster JavaScript virtual machines (VMs)
and platforms built upon them have also increased the popularity of JavaScript for server-
side web applications. On the client side, JavaScript has been traditionally implemented as
an interpreted language, but more recent browsers perform just-in-time compilation.

4.1.9 JQUERY

jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a nice motto
− Write less, do more. jQuery is a JavaScript toolkit designed to simplify various tasks by
writing less code. jQuery simplifies HTML document traversing, event handling, animating,
and Ajax interactions for rapid web development. The important core features supported by
jQuery are−

 DOM manipulation − The jQuery made it easy to select DOM elements, traverse
them and modifying their content by using cross-browser open source selector engine
called Sizzle.

 Event handling − The jQuery offers an elegant way to capture a wide variety of
events, such as a user clicking on a link, without the need to clutter the HTML code
itself with event handlers. AJAX Support − The jQuery helps you a lot to develop a
responsive and feature-rich site using AJAX technology.

 Animations − The jQuery comes with plenty of built-in animation effects which we
can use in our websites.

 Lightweight − The jQuery is very lightweight library - about 19KB in size.

 Cross Browser Support − The jQuery has cross-browser support, and works well
in IE 6.0+, FF 2.0+, Safari 3.0+, Chrome and Opera 9.0+

4.1.10 JSON

JSON stands for JavaScript Object Notation. It is a lightweight data-interchange format. It is


easy for humans to read and write. It is easy for machines to parse and generate. It is based
on a subset of the JavaScript Programming Language, Standard ECMA-262 3 rd Edition –
December 1999. JSON is a text format that is completely language independent but uses
conventions that are familiar to programmers of the C-family of languages, including C, C+
+, C#, Java, JavaScript, Perl, Python and many others. These properties make JSON an ideal
data-interchange language.

JSON is built on two structures:

• A collection of name/value pairs. In various languages, this is realized as an


object, record, struct, dictionary, hash table, keyed list or associative array.
• An ordered list of values. In most languages, this is realized as an array,
vector, list or sequence.
• These are universal data structures. Virtually all modern programming
languages support them in one form or another. It makes sense that a data
format that is interchangeable with programming languages also be based on
these structures.

In JSON, they take on these forms:


Object – An object is an unordered set of name/value pairs. An object begins with { (left
brace) and ends with } (right brace). Each name is followed by :(colon) and the name/value
pairs are separated by , (comma).

Array – an array is an ordered collection of values. An array begins with [ (left bracket)
and ends with ] (right bracket). Values are separated by , (comma).

Value – A value can be a string in double quotes, or a number, or true or false or null, or an
object or an array. These structures can be nested.

String- A string is a sequence of zero or more Unicode characters, wrapped in double


quotes, using backslash escapes. A character is represented as a single character string. A
string is very much like a C or Java string.

Number- A number is very much like a C or Java number, except that the octal and
hexadecimal formats are not used.
CHAPTER 5 SYSTEM DESIGN

CHAPTER 5 : SYSTEM DESIGN

5.1 ENTITY RELATIONSHIP DIAGRAM

Entity Relationship (ER) model is a popular high-level conceptual data model. The
conceptual schema is a concise description of data requirement of the user and includes
detailed description of the entity type, relationships, and constraints. These concepts do not
include implementations details; they are easier to understand and can be used to
communicate with non-technical users. This approach enables the database designers to
concentrate on specifying the properties of data, without being concerned with storage
details.
Entity Relationship Diagram represents the relationship between various entities and their
attributes. Relationship between entities makes up a data structure. There are three type of
relationship we can find in an ERD,

• One to one One to many

• Many to many.

The Building Blocks: Entities, Relationships, and Attributes

Entity: An entity may be defined as a thing which is recognized as being capable of an


independent existence and which can be uniquely identified. An entity is an abstraction from
the complexities of some domain. Entities can be thought of as nouns- a computer, an
employee, a song, a mathematical theorem, etc.

Relationships: A relationship captures how two or more entities are related to one
another. Relationships can be thought of as verbs, linking two or more nouns. Examples: an
own relationship between a company and a computer.

Attributes: An Attribute is a specification that defines a property of an object, element, or


file.
It may also refer to or set the specific value for a given instance of such.
Entities and relationships can both have attributes. Every entity (unless it is a weak entity)
must have a minimal set of uniquely identifying attributes, which is called the entity's
primary key, and a set of attributes that are used to refer other entities, which are called the
entity’s foreign keys.

5.1.1 ENTITY-RELATIONSHIP DIAGRAM FOR THE PROPOSED


SYSTEM
5.2 UML DIAGRAMS

5.2.1 USE CASE DIAGRAM

The use case diagram is the first stage of UML diagrams. The use case diagram look s very
simple. They consist of stick figures, lines and ovals. The stick figures are called actors and
represent something that acts on the system. The lines are either solids or ovals that indicate
different relationships with the actor. The ovals are the Use cases and in the Use Case
diagram, these ovals have some texts that provide a basic description. To draw Use Case
diagram, the basic needs are:

Finding the right Use Cases and describing them accurately in the critical

process. Finding the right Use Cases and recording their responsibilities.

5.2.1.1 LEVEL 0 USE CASE DIAGRAM FOR THE PROPOSED SYSTEM

5.2.1.2 LEVEL 1 USE CASE DIAGRAM FOR THE PROPOSED SYSTEM


CENTRAL TRAINING iNSTlTUTE SYSTEM

Trainee Module

include

<•include••

7Lainer Module
<<extand>>
Rainer
<<iI2ClMde>>

Registration

Admin Module
5.2.1.3 USE CASE DIAGRAM FOR ADMIN MODULE
5.2.1.4 USE CASE DIAGRAM FOR THE TRAINEE
MODULE

5.2.1.5 USE CASE DIAGRAM FOR THE TRAINER MODULE


TRAINER MODULE

Manage Chaining Applications

Conduct Examination

Manage Training Sessions


TRAINER

Check and Push Notifications


5.2.2 ACTIVITY DIAGRAM

Activity diagram show the procedural flow of control between two or more class objects
while processing an activity. Activity diagrams can be used to model higher-level business
process at the business unit level, or to model low-level internal class actions. An activity
diagram’s notation set is similar to that used in a state chart diagram. Like a state chart
diagram, the activity diagram starts with a solid circle connected to the initial activity. The
activity is modeled by drawing a rectangle with rounded edges, enclosing the activity’s
name. Activities can be connected to other activities through transition lines, or to decision
points that connect to different activities guarded by conditions of the decision point.
Activities that terminate the modeled process are connected to a termination point (just as in
a state chart diagram). Optionally, the activities can be grouped into swim lanes, which are
used to indicate the object that actually performs the activity.

Activity diagrams are not only used for visualizing the dynamic nature of a system, but they
are also used to construct the executable system by using forward and reverse engineering
techniques.
It is sometimes considered as the flowchart.

The purpose of the activity diagram can be described as:

• Draw the activity flow of the system.

• Describe the sequence form one activity flow to another.

• Describe a parallel, branched and concurrent flow of the system

Activity diagram is suitable for modeling the activity flow of the system. An application can
have multiple systems. Activity diagrams also captures these systems and describes the flow
form one system to another.

5.2.2.1 ACTIVITY DIAGRAM FOR THE PROPOSED SYSTEM


5.2.2.2 ACTIVITY DIAGRAM FOR MANAGE TRAINING APPLICATION OF
ADMIN MODULE
5.2.2.3 ACTIVITY DIAGRAM FOR MANAGE APPLICATIIN IN TRAINEE
MODULE

5.2.2.4 ACTIVITY DIAGRAM FOR MANAGE TRAINING PROGRAM IN


ADMIN MODULE
I\'Ianage Gaining Program

[ Yes ]

View Chaining Create ITaining Program Update Gaining Program Start Gaining Program
Program
5.2.2.5ACTIVITY DIAGRAM TO MANAGE EXAMINATION IN ADMIN
MODULE

5.2.2.6 ACTIVITY DIAGRAM TO MANAGE TRAINING SESSIONS IN


TRAINER MODULE
5.2.3 SEQUENCE DIAGRAM

Sequence diagrams show a detailed flow for a specific use case or even just part of a
specific use case. They are almost self-explanatory; they show the calls between the
different objects in their sequence and can show, at a detailed level, different calls to
different objects. A sequence diagram has two dimensions: The vertical dimension
shows the sequence of messages/calls in the time order that they occur, the horizontal
dimension shows the object instances to which the messages are sent.

Uses of sequence diagrams –

• Used to model and visualise the logic behind a sophisticated function, operation
or procedure.
• They are also used to show details of UML use case diagrams.
• Used to understand the detailed functionality of current or future systems.
• Visualise how messages and tasks move between objects or components in a
system.
5.2.3.1 SEQUENCE DIAGRAM FOR LOGIN
5.2.3.2 SEQUENCE DIAGRAM FOR CREATE TRAINING
5.2.3.3 SEQUENCE DIAGRAM FOR PUSH APPLICATION THROUGH
CSV FILE

5.2.3.4 SEQUENCE DIAGRAM FOR RAISE OBJECTION


CHAPTER 6 SYSTEM TESTING
CHAPTER 6 : SYSTEM TESTING

6.1 OVERVIEW TO SYSTEM TESTING

The quality of an information system depends on its design, development testing and
implementation. One aspects of system testing is its reliability. A system is reliable
if, used in a reasonable manner; it does not produce failures that are dangerous or
over time costly.

An additional aspect of quality assurance is avoiding the need for enhancement on


the one hand and developing software that is maintainable on the other. The need for
maintenance is very high and impedes new developments. The greatest amount of
maintenance is for user enhancement and improved documentation tasks that can be
avoided or at least reduced in frequency through proper systems engineering. So,
quality assurance is the review of software products and related documentation for
completes correctness and maintainability. Besides these, it also includes assurance
that the system meets the specifications and requirements for its intended use and
performance.

One of the most important level of quality assurance is system testing. Testing is the
process of executing a program with the explicit intention of finding errors that is
making the program fail.
A successful testing is then finding the errors.
During the course of the proposed system, five kinds of testing were done:
• Unit Testing
• Integration Testing
• Validation Checking
• System Testing Output Testing
6.1.1 UNIT TESTING

Each individual module has been tested using two techniques of testing namely:
• Client side testing using javascript
• Server side testing the validation framework provided by php
Each individual form has been validated(client side) so that user enters only valid
data at every time. For eg: Type checks, Dependency Checks, Mandatory Field
Checks. Data has been verified for consistency at server side like primary key,
foreign key constraints.

6.1.2 INTEGRATION TESTING

Here, Integration testing was implemented. Whenever new units were added to the
module, all related units were tested for the effect. Test Plan:
• Each unit (sub module) was tested for its functionality.
• Each unit was validated for inputs
• Once a unit was developed and deployed with the module, each related unit
was checked for effects and over all functionality.

6.1.3 VALIDATION CHECKING


At the end of integration testing, software is completely assembled as a package;
interfacing errors have been uncovered and corrected, a final series of software tests
called validation testing begins. Validation can be defined in ways, but a simple
definition is that validation succeeds when the software functions in a manner that
can be reasonably expected by the user.

Validation check for data type:


In this validation checking, we check whether input data is of the same type with the
database field or not, if not we provide options or necessary error message and
sometimes we imposed restrictions on entering such data with necessary message, if
attempt were made.

Validation checking of whether the entered data is in required format or not is also
done by our system, the codes will be generated automatically by machine to avoid
this. The system will also check the validity of the code at the time of the entry as
well as delete, modification and report generation time, etc.

Length Checking: If the input data crosses the maximum or the minimum limit that
can be stored in any data field, an error message is given to the user.

Format Checking: If the input data is not same with the designed format, the data is
discarded and an error message is given along with a request to re-enter the data.

6.1.4 SYSTEM TESTING

No system design is perfect; several factors like communication gap between user
and the system developer, or time constraints create error that must be eliminated
before the system is ready for user acceptance and training. Goal achievement of a
system can be recognized only after proper testing, rectification of error, if any. A
small system error may conceivably explode into a much larger problem with the
passage of time. Hence testing is vital to the success of a system. System testing is
executing a program to check logic changes made in it. With the intention of finding
errors- making the program fails. Effective testing does not guarantee reliability.
Reliability is a design consideration. The purpose of system testing is to identify and
correct errors in the system.
6.1.5 OUTPUT TESTING

The process is testing simultaneously both program (internal processes) and its
output. Output produced by the system is compared with the desired output. Each
and every program is tested separately with synthetic data. Actually it is found to be
identical. Corrections and modifications were required to be done in some programs.
CHAPTER 7
CONCLUSION AND FUTURE
SCOPE
CHAPTER 7 : CONCLUSION AND FUTURE SCOPE

7.1 CONCLUSION

The new web based Training Management System for CTI will incorporate all the
above quoted features and will help to overcome the limitation of the current manual
process. Since the project is build using Laravel, it helps to secure the web
application by protecting it against the most serious security risks such as SQL
injection, cross- site request forgery, and cross-site scripting. Coding was done as
per the standards and general coding guidelines were followed so as to have a
consistent coding standard across different modules.

The system has reached a steady state where all bugs have been eliminated and the
project is implemented and available in the live server . Thus the main objective of
developing a system that is reliable, efficient and meet all the requirements was
carried out. This project is flexible enough to incorporate any requirement changes.

7.2 FUTURE SCOPE


Although the system is an improvement over the manual system, need may
arise for further enhancement of the system. The future enhancement of the
system should be to have a mechanism by which the candidate will provide
feedback after the training is completed.
CHAPTER 8 APPENDIX
CHAPTER 8 : APPENDIX

SCREENSHOTS: 8
8.1 Main Website (Home Page):

8.2 Register a Trainee:


8.3 Selected Candidate View:
8.4 Login into the System:
8.5 Profile View of Trainee:
8.6. Apply Training individually:

8.7 Check activities of Trainee:


8. Notification in Trainee module.

Users could check his notifications by clicking on the notification button on the navbar.
Red colored notifications means unread, green colored means read and grey
colored means sent notifications.
8.9 Log Out from Trainee Module.
.
8.10 Admin Module: Home Page

8.11 Create Training program by Admin:


8.12 Manage Training Applications:
 Importing Training applications from excel file
Steps are:
I. Import the excel file (.csv format).
in a e e o s -

i Imported candidates

* IB Registered Pending Candidates

Training Application

Browse EWPLOYEEvcsv

DEMO TRAINING

r €4 Set Criterias
• inn Imported Candidates

show ;o ¿
Click here to check criteria S“”'
EmpIoyeeID t f4ame join naie Retire naie Email

EMPQ05 Gitanha Puzari 201 5-06-06 DEPT003 Developer/Technician 202%0l-01 gianhapuari25ogma Om

o•eOO6 sysem Operator

Click here to application


EMP007 2010—01 —07 DEPT003 delete sandip25@gmaiI.com
Developer/Technician 2028-01 14
EMPO08 ArindamGogoi 2011-01-08 DEPT003 Sr. Assistanc 2029-01-01

EMP009 R. Mala 201 0—01 —09 DEPT003 Clerk 2061 —01 01 maar523 gmaLcom

EuPoi o jun ior Assistant swee1y1 2 s8'gmaiI.com

El iPoi \ Shalui BaMflakur 2001-01-10 DEPT003 Asst. System Administrator 2 o28-o4 -o4 shalinibrthakurT›gmail.com

EMPO12 jun ior Assistant

r lw Registered Pending Candidates

You might also like