Sie sind auf Seite 1von 66

A REPORT ON

INTERNSHIP PROJECT PERFORMAX


At
INFOSYS LIMITED
SUBMITTED IN PARTIAL FULFILLMENT FOR AWARD DEGREE OF

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE AND ENGINEERING

BY

VARUN KHURANA
(SG15345)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

UIET, PANJAB UNIVERSITY SSG REGIONAL CENTRE,


HOSHIARPUR-146021, Punjab (INDIA)
(2018-2019)
A REPORT ON

INTERNSHIP PROJECT PERFORMAX


At
INFOSYS LIMITED
SUBMITTED IN PARTIAL FULFILLMENT FOR AWARD DEGREE OF

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE AND ENGINEERING

BY

VARUN KHURANA
(SG15345)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

UIET, PANJAB UNIVERSITY SSG REGIONAL CENTRE,


HOSHIARPUR-146021, Punjab (INDIA)
(2018-2019)
Certificate from company
Certificate
Declaration by student
Acknowledgement

The internship opportunity I had with INFOSYS LIMITED was a great chance for
learning and professional development. Therefore, I consider myself as a very lucky
individual as I was provided with an opportunity to be a part of it. I am also grateful for
having a chance to meet so many wonderful people and professionals who led me though
this internship period.

Bearing in mind previous I am using this opportunity to express my deepest gratitude and
special thanks to Mr. Azhar Naveed Khairdi (Mentor) who in spite of being
extraordinarily busy with his duties, took time out to hear, guide and keep me on the
correct path and allowing me to carry out my project at their esteemed organization and
extending during the training.

I express my deepest thanks to Kadir Vel Rajan (Batch Owner) for taking part in useful
decision & giving necessary advices and guidance and arranged all facilities to make life
easier. I choose this moment to acknowledge his contribution gratefully.

It is my radiant sentiment to place on record my best regards, deepest sense of gratitude to


the Training and placement officer and entire staff of CSE department for their careful
and precious guidance which were extremely valuable for my study both theoretically and
practically to make it right through the placement.

I perceive as this opportunity as a big milestone in my career development. I will strive to


use gained skills and knowledge in the best possible way, and I will continue to work on
their improvement, in order to attain desired career objectives. Hope to continue
cooperation with all of you in the future,
Sincerely,

Varun Khurana
Abstract

This report describes the internship I spent at the Infosys Limited Mysore. The Global
Education Center is a leading training center for the company recruits and as such
operates under the principles governed by the company itself. The managerial structure of
the Center and responsibilities of each department, explain the specifics of the Center and
the difficulties, problems and barriers that impact the functioning of the Center.

I present an in-depth analysis of the project done at the end of the training along with
strengths and weaknesses as well as threats and opportunities available to me as identified
through a SWOT analysis. The steps required to implement the recommendations
suggested are also presented.

Finally, I presented the entire functioning of the project through the screenshots and
discuss the future scope of the project taken during the internship.
Table of Contents

Sr. No. Title Page No.

1. Training Completion Certificate Issued by industry ii


2. Certificate from training Supervisor iii

3. Student Declaration iv
4. Acknowledgement v

5. Abstract vi
6. List of Figures xi

7. List of Tables xiii

Chapter1 Introduction 1

1.1 Introduction and need of performance analysing 1

1.2 Relevance of the Project 3

1.3 Purpose of the Project 3

1.4 Scope of the Project 4

1.5 Relevance of the Project 4

1.6 Problem Explanation 5

1.7 Obective of the study 5

1.8 Existing System 5

1.8.1 Limitations 5

1.9 Proposed System 6

1.9.1 Advantages 6

Chapter2 Literature Survey 7

2.1 Performax 7

2.1.1 Performax with charting components 7

Chapter3 System Specification Requirements 9

3.1 General Description of the System 9

3.1.1 Overview of Functional Requiremnets 9


3.1.2 Overview of Data Requirement 10

3.2 Technical Requirement of the System 10

3.2.1 Hardware Requirements 10

3.2.2 Software Requirements 10

3.3 Input Requiremnets 11

3.3.1 Features of User Stories 11

3.4 Output Requirements 11

3.5 Language Specification 11

3.5.1 HTML11

3.5.2 CSS 12

3.5.3 JavaScript 12

3.5.4 Google Charts 12

3.5.5 Flask Integration 13

3.5.6 What is web Frame work 13

3.5.7 Flask 13

3.5.8 Assistedge 14

3.5.9 Bootstrap 14

Chapter4 System Design and Analysis 15

4.1 PRELIMINARY DESIGN 15

4.2 SYSTEM ARCHITECTURE 16

4.3 DATA FLOW DIAGRAM 17

4.4 USE CASE DIAGRAM 18

Chapter5 Implementation 19

5.1 THE DIFFERENT MODULES OF THE PROJECT 19

5.1.1 ASSIST EDGE 19

5.1.2 GOOGLE CHARTS 20

5.1.3 Flask integration 20

5.2 FUNCTIONAL DESCRIPTION OF THE MODULES 21

5.2.1 UI MODULE 21

5.2.1.1 HTML 21

5.2.1.2 CSS 21
5.2.1.3 JAVASCRIPT 21

5.2.1.4 BOOTSTRAP 22

5.2.2 The middle layer module 23

5.2.2.1 What is Web Framework? 23

5.2.2.2 What is Flask? 23

5.2.2.3 HTTP protocol 24

5.2.2.4 Session 24

5.2.3 The database module 25

5.2.3.1 Oracle 25

5.2.3.2 PL SQL 26

5.2.4: SCHEDULE OF ACTIVITIES 27

5.2.5 Agile Methodology 28

5.2.6 Scrum 29

5.3 FLOW CHART OF THE PROPOSED SYSTEM 31

Chapter6 Experimental Results 32

6.1 OUTCOMES OF THE PROPOSED SYSTEM 32

Chapter7 TESTING 44

7.1 TESTING AND VALIDATIONS 44

7.2 TESTING LEVELS 47

7.2.1 FUNCTIONAL TESTING 47

7.2.2 NON-FUNCTIONAL TESTING 47

7.2.2.1 Non-functional testing Parameters 47

7.3 WHITEBOX TESTING 49

7.4 DIFFERENT STAGES OF TESTING 49

7.4.1 UNIT TESTING 50

7.4.2 INTEGRATION TESTING 50

7.4.3 SYSTEM TESTING 50

7.4.4 VALIDATION TESTING 51

Chapter8 Conclusion And Future Scope 52

8.1 CONCLUSION 52

8.2 FUTURE SCOPE 52


REFERENCES 54

LIST OF FIGURES

Page
Fig. No. Title No.

4.1 Preliminary Design 16

4.2 System Architecture 16

4.3 Data Flow Diagram 17

4.4 UML Design/Use case Diagram 18

5.1 Agile Sprint Backlog 29

5.2 Scrum Values 30

5.3 Working of Performax 31

6.1 Screen Loader 32

6.2 Login Screen 32

6.3 Home Page 33

6.4 About Section 33

6.5 About Functionality 34

6.6 About performax 35

6.7 Dashboard 35

6.8 Graph Rendered 36

6.9 Session selection 36

6.10 Yearly 37

6.11 No Data available 37

6.12 Download Report 38

6.13 Tutorial selection 38

6.14 Lex tutorials 39

6.15 FAQ section 39


6.16 FAQ Help 40

6.17 Contact Us 40

6.18 Contact Details 41

6.19 Ask a question/Leave Query 41

6.20 Refresh Data 42

6.21 Log Out 42

6.22 Error Page 43

7.1 Testing Process 51


LIST OF TABLES

Page
Table. No. Title No.

5.1 HTTP methods 24

5.2 Implementation schedule 27

7.1 Test Case 1 44

7.2 Test Case 2 45

7.3 Test Case 3 45

7.4 Test Case 4 46

7.5 Test Case 5 46


CHAPTER 1
INTRODUCTION

The increasing use of technology in everyday life has increased efficiency and
productivity. It is because of budding technologies like artificial intelligence, robotic
process automation, and machine learning etc. that the educators today are able to
provide a personalized learning environment to the students and easily monitor their
own performance.

The following are the 6 ways in which technology is influencing the education sector:

1. Smart Feedbacks
Feedback, whether it is for the educator or tech associate, is very important to improve
the learning process. The students’ feedback gives an opportunity for the educator or
tech associate to identify gaps in their teaching efforts and do better. The teachers’
feedback allows the students to identify the areas where they need to do some extra
work. For student’s feedback, the educational institutions generally use online to
printed forms.

But this process can become more engaging and authentic with technology
implementations.

2. Learning through Chatbot:

A popular application of artificial intelligence is intelligent tutoring systems that


provide a personalized learning environment to the students by analyzing their
responses and how they go through the learning content. Similarly, chat bots with
artificial intelligence technology can be used to teach the students by turning a lecture
in a series of messages to make it look like a standardized chat conversation. The bot
may repeatedly assess the level of understanding of the student and present the next part
of the lecture accordingly.
3. Enhanced Student Engagement
The students nowadays are already accustomed to the instant messaging platforms and
social media. Whether they want to communicate with each other, research topics or
find the best assignment help, they switch to these platforms or use a virtual assistant
to do so. This can be used to enhance the learning process and engagement of students
in a subject. Imagine messaging being used by teachers and students to connect to the
classroom, departments, alumni groups, and various activity clubs. It would become so
easy for the students to find information about the assignments, due dates or any other
important events.

4. Instant Help to Students


This is a generation of people who never stop. Technology has enabled the students
to get everything instantly. Whether it is sending an email, posting a picture, searching
a place or even finding online assignment help, everything can be done in just a few
clicks. Hence, the educational institutions also need to speed up their student
communication process to draw the attention of this fast-paced generation.

Every year a huge amount, of prospective students visit the college websites or
administrate offices to inquire about the admission process, scholarships or course fees.

Since most questions are repetitive, chat bot’s can be used to convert this time-
consuming task of replying to each query personally into an automatic one.

This would not only save a great deal of time of the students but would also diminish
the burden of the institutions. Moreover, the students would not have to wait for getting
the reply and can participate in instant chats with these bots.

5. Better Support
The responsibility of an educational institution doesn’t end at providing a highly-
qualified faculty, well-equipped labs or better courses. It has been found that a poor
student support is one of the key reasons why students drop out of colleges. Hence, the
higher education institutions should always pay attention in providing the complete
information to the students and in communicating with them time-to-time.

RPA can offer a huge value here. RPA that help the students during the admission
processes can further be used to provide them all the necessary information about their
courses, its modules, and faculties. The bots can also act as campus guides and help the
students as they arrive at the campus. They can help the students find out more about
the scholarships, hostel facilities, library memberships, and so on.

6. Up-to-date information for the Institutions


The institution can utilize this data to track the educator performance and then
identify the areas where they need to improve. For example, they can find if they need
to improve grammar or vocabulary or teaching skills or knowledge and confidence
regarding a separate topic. The institution can repeat this process at regular intervals
and then transform accordingly with the changing needs and preferences of the
students.

1.2 RELEVANCE OF THE PROJECT

The relevance of the project is efficient performance analysis and representation. As


the educator and tech associate to student ratio is quite low, so an educator is responsible
for educating a huge number of students. If the educator isn’t doing a good job many
students suffer. One of the great benefits of performance analysis via feedback
generated from students is that an overall area of improvement is easily identified and
saves time. Once created you’ll probably save in the long run. Hence Save Money.
Another benefit of doing so is that quality of education would improve manifolds.

1.3 PURPOSE

The purpose of the project is efficient performance analysis of educator and tech
associate via Feedbacks from the students. Since, the feedback is generated and stored
in excel sheets which are quite boring and tedious to look at. So, the excel sheet data is
thus transformed to visual representation. This would not only save a great deal of time
of the educators and their managers but would also diminish the burden of the
institutions. Moreover, the students would experience a better learning environment.
1.4 SCOPE OF THE PROJECT
Initially the educators would be informed of their performance by their managers, whenever
the manager got the time to do so. Now-a-days nobody really has time and the managers
who have to mentor multiple educators and tech associates might not get the time to monitor
each of them regularly and frequently. This lack of mentorship and not knowing where they
lack, can lead to bad teaching practices. When we say technology have come a long way,
we actually meant it. Availability of our application is 24/7 with the immense knowledge
it can hold is all set to outperform managers. With speed and accuracy, they will offer great
support to institutions and ETA department. It saves time and in most of the cases offers
them clear and concrete answers. They may not be perfect but quite useful.

1.5 PROBLEM DEFINITION


In the absence of a guide, learning and improving has always been very tough and it
becomes problem in bringing out a relevant solution to any specific problem. So, while
dealing with studies and knowledge gathering we cannot be limited to any particular thing.

 Everyone finds it difficult while we are learning under the absence of the mentor.

 The students may despise studying if the educator isn’t good enough.

 An all-time presence of performance analysis tool can be used to facilitate the


teaching process.

 They can help in reducing the workload of the administrative staff of the educational
institutions.

 As a result, we can expect an immense growth of the education sector, beneficiary


interactions between the students and the teachers and a superior classroom
environment. It would not only enhance the students’ learning, but would foster
vision, resilience, and inquisitiveness among educators and tech associates.
1.6 PROBLEM EXPLANATION
• The user can find easily the areas of improvement.

• The user is always free to learn new things with the help of this project as it
provides a connectivity to LEX.

• The assistant is accessible during the working and non-working hours or we can
say after 5 pm.

• The project enables users to have good and user-friendly experience with simple
UI.

• A graphical representation of performance would lead to an easy, effective and


time efficient analysis.

• The suggestion functionality helps in further improvement of the educator.

1.7 OBJECTIVE OF THE STUDY


The objective is to make the things easier and simpler, as the application uses data generated
from the feedback gathered from the students to provide clear and intelligent suggestions.
Such applications can automate routine improvements to provide a great quality of
education by making them feel they are working with someone which helps to resolve their
issue.

1.8 EXISTING SYSTEM


In the existing system there is absence of a guide. Now-a-days nobody really has time and
the managers who have to mentor multiple educators and tech associates might not get the
time to monitor each of them regularly and frequently. This lack of mentorship and not
knowing where they lack, can lead to bad teaching practices. So, while dealing with studies
and knowledge gathering, we cannot be limited to any particular thing.

1.8.1 Limitations:
• Everyone finds it difficult while we are learning under the absence of the guide.

• Many educators who are really interested to improve and learn new things might
get stuck in between and find difficult to proceed further.

• Many educators might lose interest and continue their average teaching process
because of not knowing where they lack.
1.9 PROPOSED SYSTEM
PERFORMAX renders graphs based on the performance of the educator and tech associates
assessed via feedback given by students. The proposed solution is to create an application
which provides suggestions and links to other ETA related activities to assist educators and
tech associates with their certain needs and to provide a more personal experience.

1.9.1 Advantages:
 The proposed solution is an application which provides suggestions to
assist educators and tech associates for improving their teaching skills.

 PERFORMAX will query data from database, what the user is asking and
generate an appropriate response based on the queried data in the form of
graphical representation.

 Certain provided Links would facilitate navigation to different ETA related


activities.

 The graphical representation leads to better performance analysis of the


educator and tech associate.

 It saves time, easy to use and helps in self-monitoring.


CHAPTER 2
LITERATURE SURVEY

2.1 PERFORMAX
Literature survey is the most important step in software development process. Before
developing the tool, it is necessary to determine the time factor, economy and company
strength. Once these things are satisfied, the next step is to determine which language is to
be used for developing the tool. Once programmer starts coding, they need lots of external
support. This can be obtained by senior programmers. Before building the system, the
above consideration should be taken into account.

2.1.1 PERFORMAX WITH CHARTING COMPONENTS


PERFORMAX does performance analysis using graph rendering, enhances web
applications by adding interactive charting capability. Google Charts provides wide variety
of charts. For example, line charts, spline charts, area charts, bar charts, pie charts and so
on.

Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of charts.
Charts are drawn using SVG in standard browsers like Chrome, Firefox, Safari, and
Internet Explorer (IE). In legacy IE 6, VML is used to draw the graphics.
Following are the salient features of Google Charts library.
 Compatibility − Works seamlessly on all major browsers and mobile platforms like
android and iOS.
 Multi-touch Support − Supports multi-touch on touch-screen based platforms like
android and iOS. Ideal for iPhone/iPad and android based smart phones/ tablets.
 Free to Use − Open source and is free to use for non-commercial purpose.
 Lightweight − loader.js core library, is extremely lightweight library.
 Simple Configurations − Uses json to define various configuration of the charts and
very easy to learn and use.
 Dynamic − Allows to modify chart even after chart generation.
 Multiple axes − Not restricted to x, y axis. Supports multiple axis on the charts.
 Configurable tooltips − Tooltip comes when a user hover over any point on a chart.
Google charts provides tooltip inbuilt formatter or callback formatter to control the
tooltip programmatically.
 Date Time support − Handle date time specially. Provides numerous inbuilt
controls over date wise categories.
 Print − Print chart using web page.
 External data − Supports loading data dynamically from server. Provides control
over data using callback functions.
 Text Rotation − Supports rotation of labels in any direction.
CHAPTER 3
SYSTEM REQUIRMENTS SPECIFICATION

3.1 GENERAL DESCRIPTION OF THE SYSTEM


3.1.1 OVERVIEW OF FUNCTIONAL REQUIREMENTS
In software engineering, a functional requirement defines a function of a software system
or its component. A function is described as a set of inputs, the behavior, and outputs.
Functional requirements may be calculations, technical details, data manipulation and
processing and other specific functionality that define what a system is supposed to
accomplish. Behavioral requirements describing all the cases where the system uses the
functional requirements are captured in use cases.

Here, the system has to perform the following tasks:

 Take the input i.e., queries data from the database etc. which is selected by the user
through the dashboard.

 The application should search for the appropriate output with the help of data in
database available.

 The required output is rendered as a step graph on the dashboard.

 The application should be accessible during working hours as well as non-working


hours.

 According to the output generated, the user is given certain suggestions to improve
his/her skills.

 Certain provided Links would facilitate navigation to different ETA related


activities.
3.1.2 OVERVIEW OF DATA REQUIRMENTS
PERFORMAX gets the data from a CSV, which is populated from an excel sheet.

From the CSV the data is entered to the database using a program written in python.

3.2 TECHNICAL REQUIRMENTS OF THE SYSTEM


3.2.1 HARDWARE REQUIREMENTS

Processor : Any Processor above 500 MHz


RAM : 512Mb
Hard Disk : 10 GB
Input device : Standard Keyboard and Mouse
Output device : VGA and High Resolution Monitor

3.2.2 SOFTWARE REQUIREMENTS

• Operating system : Windows XP


• Front End : HTML, CSS, JAVASCRIPT, BOOTSTRAP
• IDE : Eclipse Neon.2
• Data Base : SQLDeveloper-4.1.3.20.78
• Server : Oracle EBS
• Database Connectivity : Python with Oracle server

3.3 INPUT REQUIREMENTS


We need an excel sheet containing raw data from which a CSV is created using a python
code. CSV is a simple file format used to store tabular data, such as a spreadsheet or
database. Files in the CSV format can be imported to and exported from programs that store
data in tables, such as Microsoft Excel or Open Office Calc. CSV stands for "comma-
separated values". From the CSV the data is entered to the database using a program written
in python.

3.3.1 FEATURES OF USER STORIES


 Understand your users. Analyze your target audience and study their habits,

preferences, behaviors.
 Define meaningful user groups/personas. Identify user roles and groups based on
the difference in their goals.
 Determine user goals. Build user stories around user’s needs and expectations.
 Map user groups, goals and system actions. Apply use cases for different user
groups with various goals to your system.
3.4 OUTPUT REQUIREMENTS
 The application should search for the appropriate output with the help of data in
database available.

 The required output is rendered as a step graph on the dashboard.

 The application should be accessible during working hours as well as non-working


hours.

 According to the output generated, the user is given certain suggestions to improve
his/her skills.

 Certain provided Links would facilitate navigation to different ETA related


activities.

3.5 LANGUAGE SPECIFICATION


3.5.1 HTML
HTML is the standard markup language for creating Web pages.

 HTML stands for Hyper Text Markup Language.


 HTML describes the structure of Web pages using markup.
 HTML elements are the building blocks of HTML pages.
 HTML elements are represented by tags.
3.5.2 CSS

CSS stands for Cascading Style Sheets

 CSS describes how HTML elements are to be displayed on screen, paper, or in


other media.
 CSS saves a lot of work. It can control the layout of multiple web pages all at
once.
 External style sheets are stored in CSS files.
3.5.3 JAVASCRIPT

Java-script is the programming language of HTML and the Web. Java-script (JS) is
a lightweight interpreted or just-in-time compiled programming language
with first-class functions. While it is most well-known as the scripting language for
Web pages.

3.5.4 GOOGLE CHARTS


Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of
charts. Charts are drawn using SVG in standard browsers like Chrome, Firefox,
Safari, Internet Explorer (IE). In legacy IE 6, VML is used to draw the graphics.

Google Charts provides wide variety of charts. For example, line charts, spline
charts, area charts, bar charts, pie charts and so on.

Following are the salient features of Google Charts library.

 Compatibility − Works seamlessly on all major browsers and mobile


platforms like android and iOS.

 Multi-touch Support − Supports multi-touch on touch screen based


platforms like android and iOS. Ideal for iPhone/iPad and android based
smart phones/ tablets.

 Free to Use − Open source and is free to use for non-commercial purpose.

 Lightweight − loader.js core library, is extremely lightweight library.

 Simple Configurations − Uses json to define various configuration of the


charts and very easy to learn and use.

 Dynamic − Allows to modify chart even after chart generation.

 Multiple axes − Not restricted to x, y axis. Supports multiple axis on the


charts.

 Configurable tooltips − Tooltip comes when a user hover over any point on
a charts. Google charts provides tooltip inbuilt formatter or callback
formatter to control the tooltip programmatically.
 Date Time support − Handle date time specially. Provides numerous inbuilt
controls over date wise categories.

 Print − Print chart using web page.

 External data − Supports loading data dynamically from server. Provides


control over data using callback functions.
 Text Rotation − Supports rotation of labels in any direction.
3.5.5 Flask integration:
Flask is often referred to as a micro framework. It aims to keep the core of an
application simple yet extensible. Flask does not have built-in abstraction layer for
database handling, nor does it has form a validation support. Instead, Flask supports
the extensions to add such functionality to the application.

3.5.6 What is Web Framework?


Web Application Framework or simply Web Framework represents a collection of
libraries and modules that enables a web application developer to write applications
without having to bother about low-level details such as protocols, thread
management etc.

3.5.7 What is Flask?


Flask is a web application framework written in Python. It is developed by Armin
Ronacher, who leads an international group of Python enthusiasts named Pocco.
Flask is based on the Werkzeug WSGI toolkit and Jinja2 template engine. Both are
Pocco projects.

Example :The following code shows a simple web application that prints "Hello
World!":

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "Hello World!"

if __name__ == "__main__": app_run()


3.5.8 ASSIST EDGE
Assist Edge RPA provides technology platform to automate business processes involving
different applications across technology platforms by modelling rules into robots and
eliminates human errors. Provides E2E automation of repetitive tasks, transactions and
processes. Also automates live operational and repetitive processes in the cloud. Support
both cloud and on premise applications.
Features:
 Multi-skilled robots

 Business process automation - end-to-end touchless, partial, assisted automation

 Automation configuration - Record & Play, Drag-n-Drop using Automation


Studio.

 Real-time monitoring and tracking, Auditing and logging.

 Scheduling and re-purposing process automation.

It consists of four modules namely:

 Robotic Process Automation


o Automation of repetitive tasks, transactions and processes using software
robots.

 It emulates actions to automate human work. Acting non-intrusively, it provides


intelligent end-to-end automation for rule-based tasks and partial automation for
judgmental tasks.
 Smart User Environment
o Unified dashboard that non-intrusively aggregates information from
disparate sources and provides automation on demand.
 Integrated Device Monitoring
o A non-disruptive, non-intrusive product that monitors user device activity
and application usage.
 Real-Time Expertise Manager
o Intelligent routing algorithm analyzes the context of interaction and directs
it to the right expert
3.5.9 BOOTSTRAP

 Bootstrap is a free front-end framework for faster and easier web development.

 Bootstrap includes HTML and CSS based design templates for typography, forms,

buttons, tables, navigation, modals, image carousels and many other, as well as

optional JavaScript plugins.

 Bootstrap also gives you the ability to easily create responsive designs.

3.5.10 RENDERING TEMPLATES

Generating HTML from within Python is not fun, and actually pretty cumbersome because
you have to do the HTML escaping on your own to keep the application secure. To render
a template you can use the render_template() method.

from flask import render_template

@app.route('/hello/')

@app.route('/hello/<name>')

def hello(name=None):

return render_template('hello.html', name=name)


CHAPTER 4
SYSTEM DESIGN AND ANALYSIS
4.1 PRELIMINARY DESIGN
A preliminary design is a design of an entire treatment facility, carried out in sufficient
detail to enable accurate estimation of the costs for constructing and operating a treatment
facility.
Query

User PERFORMAX

Result

“Fig. 4.1 Preliminary Design”

4.2 SYSTEM ARCHITECTURE:

The below diagram represents the system architecture of Learning assistant project. The
user is allowed to request or query via a user interface i.e. dashboard. The data is stored in
the database and the output generated is rendered as a step and suggestions are displayed.

“Fig 4.2 System Architecture”


4.3 DATA FLOW DIAGRAM

LOGIN ACCORDING
TO YOUR ROLE

Select
functionality

Match Not found Match Found


String
matchin
g

Appropriate message is to be
displayed
Data processing

Fetch appropriate
answer

Render graphs and


display suggestions

“Fig 4.3 Data Flow Diagram”


4.4 USE CASE DIAGRAM
A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams model
the functionality of a system using actors and use cases. Use cases are a set of actions,
services, and functions that the system needs to perform. In this context, a "system" is
something being developed or operated, such as a web site. The "actors" are people or
entities operating under defined roles within the system.

Fig 4.4 UML Design/Use case Diagram


CHAPTER 5
IMPLEMENTATION

5.1 THE DIFFERENT MODULES OF THE PROJECT:


5.1.1 ASSIST EDGE
Assist Edge RPA provides technology platform to automate business processes involving
different applications across technology platforms by modelling rules into robots and
eliminates human errors. Provides E2E automation of repetitive tasks, transactions and
processes. Also automates live operational and repetitive processes in the cloud. Support
both cloud and on premise applications.

Features:

 Multi-skilled robots

 Business process automation - end-to-end touchless, partial, assisted automation

 Automation configuration - Record & Play, Drag-n-Drop using Automation Studio.

 Real-time monitoring and tracking, Auditing and logging.

 Scheduling and re-purposing process automation.

5.1.2 GOOGLE CHARTS


Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of charts.
Charts are drawn using SVG in standard browsers like Chrome, Firefox, Safari, Internet
Explorer (IE). In legacy IE 6, VML is used to draw the graphics.

Google Charts provides wide variety of charts. For example, line charts, spline charts, area
charts, bar charts, pie charts and so on.

Following are the salient features of Google Charts library.

 Compatibility − Works seamlessly on all major browsers and mobile platforms like
android and iOS.
 Multi-touch Support − Supports multi-touch on touch screen based platforms like
android and iOS. Ideal for iPhone/iPad and android based smart phones/ tablets.
 Free to Use − Open source and is free to use for non-commercial purpose.
5.1.3 Flask integration:
Flask is often referred to as a micro framework. It aims to keep the core of an application simple
yet extensible. Flask does not have built-in abstraction layer for database handling, nor does it have
form a validation support. Instead, Flask supports the extensions to add such functionality to the
application.

5.2 FUNCTIONAL DESCRIPTION OF THE MODULES


5.2.1 UI MODULE
Technologies used:

 HTML

 CSS

 BOOTSTRAP

 JAVASCRIPT

5.2.1.1 HTML
HTML is the standard markup language for creating Web pages. HTML stands
for Hypertext Markup Language, and it is the most widely used language to write Web
Pages.

 Hypertext refers to the way in which Web pages (HTML documents) are linked
together. Thus, the link available on a webpage is called Hypertext.

 As its name suggests, HTML is a Markup Language which means you use HTML
to simply "mark-up" a text document with tags that tell a Web browser how to
structure it to display.

Originally, HTML was developed with the intent of defining the structure of documents
like headings, paragraphs, lists, and so forth to facilitate the sharing of scientific
information between researchers.

Now, HTML is being widely used to format web pages with the help of different tags
available in HTML language.
 HTML stands for Hyper Text Markup Language.
 HTML describes the structure of Web pages using markup.
 HTML elements are the building blocks of HTML pages.
 HTML elements are represented by tags.
5.2.1.2 CSS
CSS stands for Cascading Style Sheets Cascading Style Sheets, fondly referred to as CSS,
is a simple design language intended to simplify the process of making web pages
presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control the color of
the text, the style of fonts, the spacing between paragraphs, how columns are sized and laid
out, what background images or colors are used, layout designs, variations in display for
different devices and screen sizes as well as a variety of other effects.

CSS is easy to learn and understand but it provides powerful control over the presentation
of an HTML document. Most commonly, CSS is combined with the markup languages
HTML or XHTML.

Advantages of CSS
 CSS saves time − You can write CSS once and then reuse same sheet in multiple
HTML pages. You can define a style for each HTML element and apply it to as
many Web pages as you want.

 Pages load faster − If you are using CSS, you do not need to write HTML tag
attributes every time. Just write one CSS rule of a tag and apply it to all the
occurrences of that tag. So less code means faster download times.

 Easy maintenance − To make a global change, simply change the style, and all
elements in all the web pages will be updated automatically.

 Superior styles to HTML − CSS has a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in comparison to HTML
attributes.

 Multiple Device Compatibility − Style sheets allow content to be optimized for


more than one type of device. By using the same HTML document, different
versions of a website can be presented for handheld devices such as PDAs and cell
phones or for printing.
 Global web standards − Now HTML attributes are being deprecated and it is
being recommended to use CSS. So, it’s a good idea to start using CSS in all the
HTML pages to make them compatible to future browsers.

5.2.1.3 JAVASCRIPT

Javascript is the programming language of HTML and the Web. Javascript (JS) is a
lightweight interpreted or just-in-time compiled programming language with first-class
functions. While it is most well-known as the scripting language for Web pages.

Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the
browser.

It means that a web page need not be a static HTML, but can include programs that interact
with the user, control the browser, and dynamically create HTML content.

The JavaScript client-side mechanism provides many advantages over traditional CGI
server-side scripts. For example, you might use JavaScript to check if the user has entered
a valid e-mail address in a form field.

The JavaScript code is executed when the user submits the form, and only if all the entries
are valid, they would be submitted to the Web Server.

JavaScript can be used to trap user-initiated events such as button clicks, link navigation,
and other actions that the user initiates explicitly or implicitly.

Advantages of JavaScript
The merits of using JavaScript are −

 Less server interaction − You can validate user input before sending the page off
to the server. This saves server traffic, which means less load on your server.

 Immediate feedback to the visitors − They don't have to wait for a page reload to
see if they have forgotten to enter something.
 Increased interactivity − You can create interfaces that react when the user hovers
over them with a mouse or activates them via the keyboard.
 Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.
5.2.1.4 BOOTSTRAP

Bootstrap is the popular HTML, CSS and JavaScript framework for developing a
responsive and mobile friendly website.

Bootstrap includes all topics such as jumbotron, table, button, grid, form, image, alert,
wells, container, carousel, panels, glyphicon, badges, labels, progress bar, pagination,
pager, list group, dropdown, collapse,tabs, pills, navbar, inputs, modals, tooltip, popover
and scrollspy.

 Bootstrap is a free front-end framework for faster and easier web development.
 Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as
optional JavaScript plugins.
 Bootstrap also gives you the ability to easily create responsive designs.

5.2.2 The middle layer module


Technologies used:

 Python Flask

Flask is a web application framework written in Python. Armin Ronacher, who leads an
international group of Python enthusiasts named Pocco, develops it. Flask is based on
Werkzeug WSGI toolkit and Jinja2 template engine. Both are Pocco projects.

5.2.2.1 What is Web Framework?

Web Application Framework or simply Web Framework represents a collection of


libraries and modules that enables a web application developer to write applications
without having to bother about low-level details such as protocols, thread management
etc.

5.2.2.2 What is Flask?


Flask is a web application framework written in Python. It is developed by Armin
Ronacher, who leads an international group of Python enthusiasts named Pocco. Flask is
based on the Werkzeug WSGI toolkit and Jinja2 template engine. Both are Pocco
projects.
5.2.2.3 HTTP protocol
Http protocol is the foundation of data communication in world wide web. Different
methods of data retrieval from specified URL are defined in this protocol.
The following table summarizes different http methods –

Sr.No. Methods & Description

1 GET
Sends data in unencrypted form to the server. Most common method.

2 HEAD
Same as GET, but without response body

3 POST
Used to send HTML form data to server. Data received by POST method is not
cached by server.

4 PUT
Replaces all current representations of the target resource with the uploaded
content.

5 DELETE
Removes all current representations of the target resource given by a URL

Table 5.1 HTTP methods

By default, the Flask route responds to the GET requests. However, generating HTML
content from Python code is cumbersome, especially when variable data and Python
language elements like conditionals or loops need to be put. This would require frequent
escaping from HTML.

This is where one can take advantage of Jinja2 template engine, on which Flask is based.
Instead of returning hardcode HTML from the function, a HTML file can be rendered by
the render_template() function.
5.2.2.3 Session
Unlike a Cookie, Session data is stored on server. Session is the time interval when a client
logs into a server and logs out of it. The data, which is needed to be held across this session,
is stored in a temporary directory on the server.
A session with each client is assigned a Session ID. The Session data is stored on top of
cookies and the server signs them cryptographically. For this encryption, a Flask
application needs a defined SECRET_KEY.
Session object is also a dictionary object containing key-value pairs of session variables
and associated values.

5.2.3 The database module


Technologies used:

 Oracle

 PL SQL

5.2.3.1 Oracle

The acronym ERP stands for enterprise resource planning. It refers to the systems and
software packages used by organizations to manage day-to-day business.

Oracle E-Business Suite is one of the most reputed ERP product which is currently
available in the market – developed by Oracle. In the world of enterprise resource
planning, very few software products have really made to the top ranks when it comes to
worldwide implementations. Based on market share – SAP, Microsoft Dynamics are the
close vendors who try to get the ERP share in almost all the regions.

What is Oracle E-Business Suite?


Oracle’s E-Business Suite (also known as Applications/Apps or EB-Suite/EBS) consists
of a collection of enterprise resource planning (ERP), customer relationship management

(CRM), and supply-chain management (SCM) computer applications either developed or


acquired by Oracle.
5.2.3.2 PL SQL
The PL/SQL programming language was developed by Oracle Corporation in the late
1980s as procedural extension language for SQL and the Oracle relational database.
Following are certain notable facts about PL/SQL −

 PL/SQL is a completely portable, high-performance transaction-processing


language.

 PL/SQL provides a built-in, interpreted and OS independent programming


environment.
 PL/SQL can also directly be called from the command-line SQL*Plus interface.

 Direct call can also be made from external programming language calls to
database.
 PL/SQL's general syntax is based on that of ADA and Pascal programming
language.

 Apart from Oracle, PL/SQL is available in Times Ten in-memory


database and IBM DB2.
Features of PL/SQL
PL/SQL has the following features −
 PL/SQL is tightly integrated with SQL.
 It offers extensive error checking.
 It offers numerous data types.
 It offers a variety of programming structures.
 It supports structured programming through functions and procedures.
 It supports object-oriented programming.
5.2.4: SCHEDULE OF ACTIVITIES
The below table represents the following schedule with description of the various
activities carried out during this project:

Milestone Description Completion date

1 Basic study of the project 25/03/2019


(Sprint 0)

2 Coding and solving few user 28/03/2019


stories

3 User stories 1.0 05/04/2019

4 UI design 05/04/2019

5 Coding 06/04/2019

6 Evaluation 1(Sprint 1) 08/04/2019

7 Integration 28/04/2019

8 Testing and deployment 30/04/2019

9 Documentation 03/05/2019

Table 5.2 Implementation schedule


5.2.5 Agile Methodology
AGILE methodology is a practice that promotes continuous iteration of
development and testing throughout the software development lifecycle of the
project. Both development and testing activities are concurrent unlike the
Waterfall model.

The project is based on Agile methodology. Agile methodology is a type of


project management process, mainly used for software development, where
demands and solutions evolve through the collaborative effort of self-organizing
and cross-functional teams and their customers.
The agile software development emphasizes on four core values.

 Individual and team interactions over processes and tools

 Working software over comprehensive documentation

 Customer collaboration over contract negotiation

 Responding to change over following a plan

12 Principles of Agile
1. Customer satisfaction through early and continuous software delivery.
2. Accommodate changing requirements throughout the development process.
3. Frequent delivery of working software.

4. Collaboration between the business stakeholders and developers throughout


the project.
5. Support, trust, and motivate the people involved.
6. Enable face-to-face interactions.
7. Working software is the primary measure of progress.
8. Agile processes to support a consistent development pace.
9. Attention to technical detail and design enhances agility.
10. Simplicity.
11. Self-organizing teams encourage great architectures, requirements, and
designs.
12. Regular reflections on how to become more effective.
Fig 5.1 Agile Sprint Backlog

5.2.6 Scrum
Scrum is an agile way to manage a project, usually software development. Agile software
development with Scrum is often perceived as a methodology; but rather than
viewing Scrum as methodology, think of it as a framework for managing a process.

The Scrum Values:


Although always considered to be a part of Scrum and often written about, in July 2016,
the Scrum Values were added to The Scrum Guide. These values include Courage, Focus,
Commitment, Respect, and Openness. Read the Scrum Guide to learn more about these
values, how they apply to Scrum and download this poster.

The Scrum Events:


Prescribed events are used in Scrum to create regularity and to minimize the need for
meetings not defined in Scrum. All events are time-boxed. Once a Sprint begins, its
duration is fixed and cannot be shortened or lengthened. The remaining events may end
whenever the purpose of the event is achieved, ensuring an appropriate amount of time is
spent without allowing waste in the process.
The Scrum Events are:

 Sprint
 Sprint Planning
 Daily Scrum
 Sprint Review
 Sprint Retrospective

Fig 5.2 Scrum Values


5.3 FLOW CHART OF THE PROPOSED SYSTEM

Fig 5.3 Working of Performax (Flow Chart)


CHAPTER 6
EXPERIMENTAL RESULTS
6.1 OUTCOMES OF THE PROPOSED SYSTEM

Fig 6.1 Screen LOADER

Fig 6.2 Login Screen


Fig 6.3 Home Page

Fig 6.4 About Section


Fig 6.5 About Functionality
Fig 6.6 About Performax

Fig 6.7 Dashboard


Fig 6.8 Graph Rendered

Fig 6.9 Session Selection


Fig 6.10 Yearly Selection

Fig 6.11 No Data Available for selected entry


Fig 6.12 Download Report

Fig 6.13 Tutorial Selection


Fig 6.14 LEX TUTORIAL

Fig 6.15: FAQ section


Fig 6.16: FAQ help on hover

Fig 6.17: Contact Us


Fig 6.18: Contact Details

Fig 6.19: Ask a question/Leave Query


Fig 6.20 Refresh the data in database i.e. New csv to db tables

Fig 6.21 Log Out


Fig 6.22 Error Page
CHAPTER 7
TESTING

7.1 TESTING AND VALIDATIONS

Test case number TC_01

Test case name Output verification 1

Description This test case is done to verify if only valid


educator or tech associate can login.

Input Details entered by the user.

Expected output Able to Login

Actual output Able to login

Remarks Test Successful

Table 7.1: Test Case 1


Test case number TC_02

Test case name Appropriate date selection between two dates.


(in date picker functionality)

Description This test case is done to verify if the user gets a


graph as output only if certain correct dates are
chosen.

Input Selecting inappropriate dates.

Expected output Unable to render graph.

Actual output Unable to render graph.

Remarks Test Successful

Table 7.2: Test Case 2

Test case number TC_03

Test case name Data verification 1

Description This test case is done to verify if the data selected by


the user is available in the database even if they
click on it.

Input Select the wrong date/year.

Expected output Unable to render graph.

Actual output Unable to render graph.

Remarks Test Successful

Table 7.3: Test Case 3


Test case number TC_04

Test case name Data verification 2

Description This test case is done to verify if the “Leave a query


” functionality opens up an email or not.

Input Click “send a mail”.

Expected output Opens up an email window.

Actual output Opens up an email window.

Remarks Test Successful

Table 7.4: Test Case 4

Test case number TC_05

Test case name Output verification 2

Description This test case is done to verify if


The log out button works or not.

Input User clicks “logout”

Expected output Return to login page.

Actual output Return to login page.

Remarks Test Successful

Table 7.5: Test Case 5


7.2 TESTING LEVELS
7.2.1 FUNCTIONAL TESTING
Functional Testing is a type of software testing whereby the system is tested against the
functional requirements/specifications. Functions (or features) are tested by feeding them
input and examining the output. Functional testing ensures that the requirements are
properly satisfied by the application. This type of testing is not concerned with how
processing occurs, but rather, with the results of processing. It simulates actual system
usage but does not make any system structure assumptions. During functional
testing, Black Box Testing technique is used in which the internal logic of the system being
tested is not known to the tester. Functional testing is normally performed during the levels
of System Testing and Acceptance Testing.

Typically, functional testing involves the following steps:

 Identify functions that the software is expected to perform.


 Create input data based on the function’s specifications.
 Determine the output based on the function’s specifications.
 Execute the test case.
 Compare the actual and expected outputs.

7.2.2 NON-FUNCTIONAL TESTING


Non-functional testing is defined as a type of Software testing to check non-functional
aspects (performance, usability, reliability, etc) of a software application. It is designed to
test the readiness of a system as per nonfunctional parameters which are never addressed
by functional testing. An excellent example of non-functional test would be to check how
many people can simultaneously login into a software. Non-functional testing is equally
important as functional testing and affects client satisfaction.

7.2.2.1 Non-functional testing Parameters


1) Security: The parameter defines how a system is safeguarded against deliberate and
sudden attacks from internal and external sources. This is tested via Security Testing.

2) Reliability:

The extent to which any software system continuously performs the specified functions
without failure. This is tested by Reliability Testing

3) Survivability:
The parameter checks that the software system continues to function and recovers itself in
case of system failure. This is checked by Recovery Testing

4) Availability:

The parameter determines the degree to which user can depend on the system during its
operation. This is checked by Stability Testing.

5) Usability:

The ease with which the user can learn, operate, prepare inputs and outputs through
interaction with a system. This is checked by Usability Testing

6) Scalability:

The term refers to the degree in which any software application can expand its processing
capacity to meet an increase in demand. This is tested by Scalability Testing.

7) Interoperability:

This non-functional parameter checks a software system interfaces with other software
systems. This is checked by Interoperability Testing.

8) Efficiency:

The extent to which any software system can handles capacity, quantity and response
time.

9) Flexibility:

The term refers to the ease with which the application can work in different hardware and
software configurations. Like minimum RAM, CPU requirements.

10) Portability:

The flexibility of software to transfer from its current hardware or software environment.

11) Reusability:

It refers to a portion of the software system that can be converted for use in another
application.

The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, subassemblies, assemblies and/or a finished product it is the
process of exercising software with the intent of ensuring that the Software system meets
its requirements and user expectations and does not fail in an unacceptable manner. There
are various types of test. Each test type addresses a specific testing requirement.

7.3 WHITEBOX TESTING


White Box Testing (also known as Clear Box Testing, Open Box Testing, Glass Box
Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a software
testing method in which the internal structure/design/implementation of the item being
tested is known to the tester. The tester chooses inputs to exercise paths through the code
and determines the appropriate outputs. Programming know-how and the implementation
knowledge is essential. White box testing is testing beyond the user interface and into the
nitty-gritty of a system.

Types of White Box Testing

White box testing encompasses several testing types used to evaluate the usability of an
application, block of code or specific software package. There are listed below –

 Unit Testing: It is often the first type of testing done on an application. Unit testing
is performed on each unit or block of code as it is developed. Unit Testing is
essentially done by the programmer. As a software developer, you develop a few
lines of code, a single function or an object and test it to make sure it works before
continuing Unit Testing helps identify a majority of bugs, early in the software
development lifecycle. Bugs identified in this stage are cheaper and easy to fix.

 Testing for Memory Leaks: Memory leaks are leading causes of slower running
applications. A QA specialist who is experienced at detecting memory leaks is
essential in cases where you have a slow running software application.

Apart from above, a few testing types are part of both black box and white box testing.
They are listed as below

 White Box Penetration Testing: In this testing, the tester/developer has full
information of the application's source code, detailed network information, IP
addresses involved and all server information the application runs on. The aim is
to attack the code from several angles to expose security threats
7.4 DIFFERENT STAGES OF TESTING

7.4.1 UNIT TESTING


Unit testing involves the design of test cases that validate that the internal program logic
is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path
of a business process performs accurately to the documented specifications and contains
clearly defined inputs and expected results.
7.4.2 INTEGRATION TESTING
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components
were individually satisfaction, as shown by successfully unit testing, the combination of
components is correct and consistent. Integration testing is specifically aimed at exposing
the problems that arise from the combination of components.

7.4.3 SYSTEM TESTING

System testing of software or hardware is testing conducted on a complete, integrated


system to evaluate the system's compliance with its specified requirements. System
testing falls within the scope of black box testing, and as such, should require no
knowledge of the inner design of the code or logic. As a rule, system testing takes, as its

input, all of the "integrated" software components that have successfully passed integration
testing and also the software system itself integrated with any applicable hardware
system(s).

System testing is a more limited type of testing; it seeks to detect defects both within the
"inter-assemblages" and also within the system as a whole. System testing is performed on
the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or
a System Requirement Specification (SRS).
System testing tests not only the design, but also the behavior and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds defined
in the software/hardware requirements specification(s).

7.4.4 VALIDATION TESTING

An engineering validation test (EVT) is performed on first engineering prototypes, to


ensure that the basic unit performs to design goals and specifications. It is important in
identifying design problems, and solving them as early in the design cycle as possible, is
the key to keeping projects on time and within budget. The old adage holds true: It costs a
penny to make a change in engineering, a dime in production and a dollar after a product is
in the field. Verification is a Quality control process that is used to evaluate whether or not
a product, service, or system complies with regulations, specifications, or conditions
imposed at the start of a development phase.

The testing process overview is as follows:

Figure 7.1: The testing process


CHAPTER 8
CONCLUSION AND FUTURE SCOPE
8.1 CONCLUSION
In this application “Performax”, we have worked to facilitate performance analysis of users
such as educators or tech associates. The educator and tech associate to student ratio is quite
low, so an educator is responsible for educating a huge number of students. If the educator
isn’t doing a good job many students suffer .One of the great benefits of performance
analysis via feedback generated from students is that an overall area of improvement is
easily identified and saves time. User can also refer to the links and suggestions for
improving skills.

8.2 FUTURE SCOPE


PERFORMAX project can be enhanced by adding the following features:

 Using Assist edge to automate the process of data gathering.


 Facility for multi-language access.
 More interactive user interface.
 Accessing this project in mobile devices which can be more helpful to users.
 Adding a chatbot to help out the user with interactive communication.
 Integrating social media for example, educator can share his/her performance on
Facebook, Instagram, LinkedIn etc.
 User is able to download report in multiple forms like .pdf or docs..
 Creating it more interactive by adding various other modules of datasets.
 Different users can create chat rooms for helping out each other.
REFERENCES
[1] https://lex.infosysapps.com

[2] Allen Downey, Jeff Elkner, Chris Meyers,” Learning with Python”

[3] O'Reilly, “Flask Web Development”

[4] https://stackoverflow.com/

[5] https://zenkit.com/en/blog/agile-methodology-an-overview/
[6] www.w3schools.com.
[7] www.tutorialspoint.com

[8] https://github.com/miguelgrinberg/flasky

Das könnte Ihnen auch gefallen