PRJ/2020/IT/055 Introduction
CHAPTER 1 – INTRODUCTION
1.1 PROJECT OVERVIEW
It is known that the success of any company or organization lies within the efficiency
of its employees. This is hard to achieve if there is no coordination or ease of work
within the employees, which is lacking in most of the companies. To overcome this
problem a better management system is necessary to be adapted which can help in
achieving solution to this problem. Based on the company requirements a
management system is necessary which primarily works for a specific domain. Such
management system can be highly advantageous as the employees can have a proper
track of their completed, pending or incomplete work. Also the necessary information
about a particular work can be found at one place and only the allocated persons can
be able to view it. Such systems if adapted can be proven highly dominant in the long
run.
1.2 PROJECT DEFINITION
Language Solution Suite(LSS) is basically a type of company management system
primarily developed for two Germany based companies namely Natural Language
Solution and Word Ink. LSS is an integration of systems of both the companies and
that is how the name Language Solution Suite came up. It integrates the requirements
of both the companies
1.3 PURPOSE
1.4 SCOPE
1.5 TOOLS & TECHNOLOGY USED
Server Side Scripting Language PHP
Framework Used Laravel v6.2
Client Side Scripting Language jQuery, AJAX
IDE Php Storm
Database MYSQL
Server Apache (XAMP)
1.5.1 PHP
The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a server-side
scripting language designed specifically for web development.
CSPIT(IT) 1
PRJ/2020/IT/055 Introduction
Websites like www.facebook.com, www.yahoo.com are also built on PHP.
One of the main reason behind this is that PHP can be easily embedded in HTML
files and HTML codes can also be written in a PHP file.
The thing that differentiates PHP with client-side language like HTML is, PHP
codes are executed on server whereas HTML codes are directly rendered on the
browser. PHP codes are first executed on the server and then the result is returned to
the browser.
The only information that the client or browser knows is the result returned after
executing the PHP script on the server and not the actual PHP codes present in the
PHP file. Also, PHP files can support other client-side scripting languages like CSS
and JavaScript.
Why use PHP?
You have obviously heard of a number of programming languages out there; you
may be wondering why we would want to use PHP as our poison for the web
programming. Below are some of the compelling reasons.
PHP is open source and free.
Short learning curve compared to other languages such as JSP, ASP etc.
Large community document
Most web hosting servers support PHP by default unlike other languages such as
ASP that need IIS. This makes PHP a cost effective choice.
PHP is regular updated to keep abreast with the latest technology trends.
Other benefit that you get with PHP is that it’s a server side scripting language;
this means you only need to install it on the server and client computers requesting
for resources from the server do not need to have PHP installed; only a web browser
would be enough.
PHP has in built support for working hand in hand with MySQL; this doesn’t
mean you can’t use PHP with other database management systems. You can still use
PHP with
Postgres
Oracle
CSPIT(IT) 2
PRJ/2020/IT/055 Introduction
MS SQL Server
ODBC etc.
PHP is cross platform; this means you can deploy your application on a number
of different operating systems such as windows, Linux, Mac OS etc.
1.5.2 Laravel
Laravel is an open-source PHP framework, which is robust and easy to understand. It
follows a model-view-controller design pattern. Laravel reuses the existing components
of different frameworks which helps in creating a web application. The web application
thus designed is more structured and pragmatic.
Laravel offers a rich set of functionalities which incorporates the basic features of PHP
frameworks like CodeIgniter, Yii and other programming languages like Ruby on Rails.
Laravel has a very rich set of features which will boost the speed of web development.
If you are familiar with Core PHP and Advanced PHP, Laravel will make your task
easier. It saves a lot time if you are planning to develop a website from scratch.
Moreover, a website built in Laravel is secure and prevents several web attacks.
Advantages of Laravel
Laravel offers you the following advantages, when you are designing a web application
based on it −
The web application becomes more scalable, owing to the Laravel framework.
Considerable time is saved in designing the web application, since Laravel reuses
the components from other framework in developing web application.
It includes namespaces and interfaces, thus helps to organize and manage
resources.
CSPIT(IT) 3
PRJ/2020/IT/055 Introduction
Composer
Composer is a tool which includes all the dependencies and libraries. It allows a user to
create a project with respect to the mentioned framework (for example, those used in
Laravel installation). Third party libraries can be installed easily with help of composer.
All the dependencies are noted in composer.json file which is placed in the source
folder.
Artisan
Command line interface used in Laravel is called Artisan. It includes a set of commands
which assists in building a web application. These commands are incorporated from
Symphony framework, resulting in add-on features in Laravel 5.1 (latest version of
Laravel).
Features of Laravel
Laravel offers the following key features which makes it an ideal choice for designing
web applications −
Modularity
Laravel provides 20 built in libraries and modules which helps in enhancement of the
application. Every module is integrated with Composer dependency manager which
eases updates.
Testability
Laravel includes features and helpers which helps in testing through various test cases.
This feature helps in maintaining the code as per the requirements.
Routing
Laravel provides a flexible approach to the user to define routes in the web application.
Routing helps to scale the application in a better way and increases its performance.
Configuration Management
A web application designed in Laravel will be running on different environments, which
means that there will be a constant change in its configuration. Laravel provides a
consistent approach to handle the configuration in an efficient way.
CSPIT(IT) 4
PRJ/2020/IT/055 Introduction
Query Builder and ORM
Laravel incorporates a query builder which helps in querying databases using various
simple chain methods. It provides ORM (Object Relational Mapper)
and ActiveRecord implementation called Eloquent.
Schema Builder
Schema Builder maintains the database definitions and schema in PHP code. It also
maintains a track of changes with respect to database migrations.
Template Engine
Laravel uses the Blade Template engine, a lightweight template language used to design
hierarchical blocks and layouts with predefined blocks that include dynamic content.
E-mail
Laravel includes a mail class which helps in sending mail with rich content and
attachments from the web application.
Authentication
User authentication is a common feature in web applications. Laravel eases designing
authentication as it includes features such as register, forgot password and send
password reminders.
1.5.3 Lll
1.5.4 lll
CHAPTER 2 – PROJECT MANAGEMENT
2.1 PROJECT PLANNING
2.1.1 Project Development Approach (Process Model Used)
Agile software development methodology is a process for developing software which
differs significantly from other methodologies. In English, Agile means ‘ability to move
quickly and easily’ and responding swiftly to change – this is a key aspect of Agile
software development as well.
CSPIT(IT) 5
PRJ/2020/IT/055 Introduction
With Agile development methodology –
In the Agile methodology, each project is broken up into several ‘Iterations’.
All Iterations should be of the same time duration (between 2 to 8 weeks).
At the end of each iteration, a working product should be delivered.
In simple terms, in the Agile approach the project will be broken up into 10
releases (assuming each iteration is set to last 4 weeks).
Rather than spending 1.5 months on requirements gathering, in Agile software
development, the team will decide the basic core features that are required in the
product and decide which of these features can be developed in the first iteration.
Any remaining features that cannot be delivered in the first iteration will be taken
up in the next iteration or subsequent iterations, based on priority.
At the end of the first iterations, the team will deliver a working software with the
features that were finalized for that iteration.
There will be 10 iterations and at the end of each iteration, the customer is
delivered a working software that is incrementally enhanced and updated with the
features that were shortlisted for that iteration.
This approach allows the customer to interact and work with functioning software at the
end of each iteration and provide feedback on it. This approach allows teams to take up
changes more easily and make course corrections if needed. In the Agile approach,
CSPIT(IT) 6
PRJ/2020/IT/055 Introduction
software is developed and released incrementally in the iterations. An example of how
software may evolve through iterations is shown in the image below.
Agile methodology gives more importance to collaboration within the team, collaboration
with the customer, responding to change and delivering working software. In the
traditional approach, each job function does its job and hands over to the next job
function. The previous job functions have to sign off before it is handed over the next job
function authenticating that the job is full and complete in all aspects. For example,
Requirement gathering is completed and handed over to the design phase and it is
subsequently handed over to the development and later to testing and rework. Each job
function is a phase by itself.
In an Agile way of working, each feature is completed in terms of design, development,
code, testing and rework, before the feature is called done. There are no separate phases
and all the work is done in single phase only.
Advantages of Agile Methodology:
In Agile methodology the delivery of software is unremitting.
The customers are satisfied because after every Sprint working feature of the
software is delivered to them.
Customers can have a look of the working feature which fulfilled their
expectations.
If the customers have any feedback or any change in the feature then it can be
accommodated in the current release of the product.
In Agile methodology, the daily interactions are required between the business
people and the developers.
CSPIT(IT) 7
PRJ/2020/IT/055 Introduction
In this methodology, attention is paid to the good design of the product.
Changes in the requirements are accepted even in the later stages of the
development.
Why We Use Agile Methodology?
Our company finds Agile methodology as the most suitable for this project since it
requires frequent updates, meetings, updating in requirements, regular adaptation to
changing circumstances.
Also, We give preference to Customer First Always, hence the method serves our purpose
to provide quick and reliable solutions to our customers.
2.1 PROJECT WORK SCHEDULING
CSPIT(IT) 8
PRJ/2020/IT/055 Introduction
CHAPTER 3 – SYSTEM REQUIREMENTS STUDY
3.1 USER CHARACTERISTICS
This system is a combination of two major requirements from each company. The two
main functionalities of each of them are Translation Portal and Course Coordinator
Portal. The user will login into the system with the credentials, the credentials will be
checked and if correct based on the role defined he will be redirected to the particular
interface and if the credentials are wrong the user will be displayed with a login error
message.
Company Admin
CSPIT(IT) 9
PRJ/2020/IT/055 Introduction
The company admin will be the one specific to a company who will be entitled to manage
the users of its company, manage roles given to the users of that company and manage the
master pages of it.
Sales Person
CSPIT(IT) 10
PRJ/2020/IT/055 Introduction
The Sales person will be the one who will be interacting with the customers of the
company. He will have access to all of the customers information and the information
provided by them about a specific task. The sales person can also generate new queries
from the customers. He can also manage the inquiries and based on that create a quotation
and send it to customer. Upon order confirmation from the customer he can generate an
invoice and send it to the customer.
Course Coordinator
CSPIT(IT) 11
PRJ/2020/IT/055 Introduction
Word Ink is a company which undergoes various workshops and seminars and course
coordinator is a role assigned for it. The course coordinator will be the one who will be
assigning a trainer to undergo a specific request from the customer. The course
coordinator will be the receiving the information about a task with a customer profile and
his task will be to assign a trainer for that task. Provided the details he will first check the
trainer availability and send a job request to that trainer. Upon acceptance by trainer, the
information about it will be sent to all the customers.
Trainer
CSPIT(IT) 12
PRJ/2020/IT/055 Introduction
The trainer will be firstly receiving a job request from the course coordinator, where he
can check the course details and after that will be able to accept or reject the request. He
can check for his time table if he is free or not in his provided scheduled time table. Also,
he can take attendance for a particular course of all the attendes.
3.2 HARDWARE AND SOFTWARE REQUIREMENTS
Following is the hardware and software requirements of the project :-
Hardware Specifications (Minimum requirements to run Chrome or FireFox)
The most common set of requirements defined by any operating system or software
application is the physical computer resources, also known as hardware, A hardware
requirements list is often accompanied by a hardware compatibility list (HCL), especially
in case of operating systems. An HCL lists tested, compatible, and sometimes
incompatible hardware devices for a particular operating system or application. The
following sub-sections discuss the various aspects of hardware requirements.
Processor : Pentium 4
Hard disk space : 100MB
RAM : 128MB
Software Requirements
Software requirements deal with defining software resource requirements and
prerequisites that need to be installed on a computer to provide optimal functioning of
an application. These requirements or prerequisites are generally not included in the
software installation package and need to be installed separately before the software is
installed.
Any Browser like Chrome, Firefox, Safari, Internet Explorer
3.3 ASSUMPTIONS & CONSTRAINTS
An assumption is something that is believed to be true based on our knowledge,
experience, and information provided by our team members. These are anticipated events
or issues that are expected to occur during our project life cycle. Assumption analysis is a
part of the risk management process. If it is not made properly analyse, it may affect the
project’s health. The project management plans need to change if assumptions are
verified wrong.
CSPIT(IT) 13
PRJ/2020/IT/055 Introduction
Project constraints are anything that restricts or dictates the actions of the project team
such as the limitation of cost, schedule, resources. Projects must be executed within the
boundaries restricted by the constraints.
All the hardware and software requirements are met.
The user must have an active internet connection.
User must know how to operate a computer.
User must have knowledge of using web based application.
The user must have necessary access and credentials to use this system.
Based on the different roles, some basic necessary information must be
provided to the system.
CHAPTER 4 – SYSTEM ANALYSIS
4.1 STUDY OF EXISTING SOLUTION
There are some systems in various countries which provide functionalities like translation
of languages and management of various sessions in systems. Some systems which
provide the similar functionalities are Natural Language Solution (NLS) and Word Ink.
Natural Language Solution (NLS) helps for suitable learning of a foreign language where
language training in individually adapted according to the customer needs. NLS assists
with professionals which help the employees of the system in 3 level of content while
covering them at the same time
1. Content level : Foreign language training where the employees are trained
to learn the language modules that are relevant for business of the system
2. Content level: Competence training where the employees are trained with
foreign language specifically for the skills required in the job such as
presenting, telephoning, business correspondence, visiting a trade fair,
sales talk and much more.
3. Content level: Intercultural training where the foreign language training is
geared to the customs of the recipient culture
If desired (and only in individual training) language training with coaching is combined.
This 4th level is focused on the sustainable empowerment of the employees.
4. Coaching: we break down inhibitions, blockages and the demand for
perfection and build the self-confidence of your employees! This is the
only way to act independently and professionally in the foreign language.
NLS helps with language Training, Interpreting, Competence Training, Exam
Preparation.
Word Ink for the same creates customized writing workshops, tutoring programs, and
editorial services for enterprising individuals, small business and organizations that aspire
CSPIT(IT) 14
PRJ/2020/IT/055 Introduction
to do good things and that seek an invigorating, enduring approach from industry
specialists.
4.2 LIMITATIONS
The systems already developed do not have any specific limitations but they are just
different altogether
The existing systems are defines for a general purpose and not specifically for any
client.
It does not have the manual entry options for small business.
No management of the professionals for conducting training.
4.3 REQUIREMENTS
4.3.1 Functional Requirements
Create admin who manage different systems who have agreed with the admin.
Admin now asks different systems on their requirement of which training to be given
to the employees.
Get the idea of the training required and accordingly look for professionals.
Ask for training of the Employees mainly individual and specific course.
Enter the date when the training should be held with the time.
Add the details of how many employees will be attending the session to be held.
Check the availability of the professionals on the time given by the system.
Ask a professional whether they will conduct the training in a specific system on the
time being given by the system.
Assign the professional to the system on the acceptance of training.
Generate a quotation and submit it to the system as a regard of costing of translation.
After the system accepts the quotation the admin asks the system for the documents.
Translators are required for the translation of the documents.
4.3.2 Non-Functional Requirements
Scalability :
- Able to manage multiple systems together.
- Provide with multiple options to system for translation and training.
- Provide multiple verification of translated documents with multiple chances of
editing quotation and helping generate bill when ever the system decides.
Usability :
- The system must be easy to use.
CSPIT(IT) 15
PRJ/2020/IT/055 Introduction
- The system must be quickly accessible.
- The menus of the system must be easily navigable by the users with
buttons that are easy to understand
Supportability :
- The website is designed such that it works even on systems having
the minimum configuration that is no specific configuration is required to run
the site developed.
- No additional modules are needed to be attached for the working of the
system.
4.4 SYSTEM WORKFLOW
Initially the user will be shown with the login screen to login into the system. The user
will login with hid login credentials and based on this role, the next screen will be shown
CSPIT(IT) 16
PRJ/2020/IT/055 Introduction
to him. Super Admin, Company Admin, Course Coordinator, Sales person and trainer are
the roles for this system. The system will check first if the credentials are correct or not
and if incorrect, the user will be prompted with a reset password screen to reset his
password and the move forward to the next screen.
The Super Admin is the main role who will be having access to manage the company
details.
CSPIT(IT) 17
PRJ/2020/IT/055 Introduction
CSPIT(IT) 18
PRJ/2020/IT/055 Introduction
CSPIT(IT) 19
PRJ/2020/IT/055 Introduction
CSPIT(IT) 20
PRJ/2020/IT/055 Introduction
CSPIT(IT) 21
PRJ/2020/IT/055 Introduction
CHAPTER 5 – SYSTEM DESIGN
5.1 DATABASE SCHEMA
5.2 DATA DICTIONARY
5.3 SCREENSHOTS
CHAPTER 6 – SYSTEM IMPLEMENTATION & TESTING
6.1 CODING CONVENTIONS
CHAPTER 7 – FUTURE ENHANCEMENTS
7.1 FUTURE ENHANCEMENTS
7.2 LIMITATIONS
CHAPTER 8 – CONCLUSION
CHAPTER 9 - REFERENCES
CSPIT(IT) 22