0% found this document useful (0 votes)
18 views47 pages

Final Report - Keshav

The document is an internship report submitted by Keshav Kumar Jha for a Full Stack Web Development internship at CrawlApps Technologies, as part of his Bachelor of Engineering degree in Computer Engineering. It outlines the internship experience, skills gained in web development using Django, and acknowledges the guidance received from mentors. The report includes an overview of the company, the internship management process, and various technical aspects related to the projects undertaken during the internship.

Uploaded by

DEVIL BOY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views47 pages

Final Report - Keshav

The document is an internship report submitted by Keshav Kumar Jha for a Full Stack Web Development internship at CrawlApps Technologies, as part of his Bachelor of Engineering degree in Computer Engineering. It outlines the internship experience, skills gained in web development using Django, and acknowledges the guidance received from mentors. The report includes an overview of the company, the internship management process, and various technical aspects related to the projects undertaken during the internship.

Uploaded by

DEVIL BOY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

INTERNSHIP ON FULL STACK WEB

DEVELOPMENT

INTERNSHIP REPORT

Submitted by

KESHAV KUMAR JHA

20070206018

In partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING

in

Computer Engineering

Bhagwan Arihant Institute of Technology, Surat

Bhagwan Mahavir University, Surat

[April, 2023-24]
Bhagwan Arihant Institute of Technology
BMEF Campus, VIP road Bharthana Vesu, Surat,
Gujarat 395007 India

CERTIFICATE

This is to certify that the internship report submitted with the internship

entitled Internship on Full Stack Web Development has been carried out by

Mr. Keshav Kumar Jha under my guidance in partial fulfilment for the

degree of Bachelor of Engineering in Computer Engineering, 8th Semester

of Bhagwan Mahavir University, Surat during the academic year 2023 – 24.

Mr. Nikunj Thakor Prof. Rauki Yadav

External Guide Head of the Department

Prof. Maitry Desai

Internal Guide External Examiner


Bhagwan Arihant Institute of Technology
BMEF Campus, VIP road Bharthana Vesu, Surat,
Gujarat 395007 India

DECLARATION

I declare that the Internship report submitted along with the Internship

entitled Internship on Full Stack Web Development submitted in partial

fulfillment for the degree of Bachelor of Engineering in Computer

Engineering to Bhagwan Mahavir University, Surat, is a bonafide record of

original internship work carried out by me at Bhagwan Arihant Institute of

Technology /CrawlApps Technologies under the supervision of Prof. Maitry

Desai / Mr. Nikunj Thakor and that no part of this report has been directly

copied from any students report or taken from any other source, without

providing due reference.

Name of the Student Signature of Student

Keshav Kumar Jha


ACKNOWLEDGMENT

I express my deep sense of gratitude to Mr. Fenil Lathiya and Mr. Nikunj Thakor for

their kind cooperation and valuable guidance throughout the process of my work.

A special thanks to Mr. Nikunj Thakor for their guidance and encouragement in

carrying out this internship. I would also like to express my gratitude to the officials and

another staff member of CrawlApps Technologies who rendered their help during the

period of my internship.

The thanks to Prof. Maitry Desai and Head of Department Prof. Rauki Yadav, with

other faculty members of the Computer Engineering department, Bhagwan Arihant

Institute of Technology, who always helped me by giving fruitful suggestions, support, and

encouragement which not only helped me in preparing this work but also in having a better

insight in this field.

Lastly, I also extend my thanks and appreciation to my family members, my friends, and

my classmates who have played a very important role in helping and strengthening me.

Keshav Kumar Jha

20070206018

i
ABSTRACT

The scope of this document is to identify and describe the analysis carried out,
the project completed, and the experience gained as a web developer intern.
An internship in Full Stack Web Development gives the opportunity to work
in an industrial environment, learn from experts, and develop web
applications. Django, a high-level Python web framework, empowers
developers to build robust and scalable web applications efficiently, by using
Django REST Framework and integrating seamlessly with HTML, CSS, and
JavaScript for a comprehensive web development experience. During this
internship, I have worked on the practical implementation and testing of web
applications. This internship has enhanced my skills and offered me a
platform for making a significant contribution to web development.

ii
List of Figures

Fig 1.1 Organization Chart .............................................................................................. 1


Fig 2.1 Schematic layout of manufacturing...................................................................... 3
Fig 3.1 Internship Scheduling Chart .............................................................................. 16
Fig 5.1 KBitz Use Case ................................................................................................. 20
Fig 5.2 Sequence Diagram of User ................................................................................. 21
Fig 5.3 Activity Diagram ............................................................................................... 22
Fig 5.4 Class Diagram ................................................................................................... 23
Fig 5.5 Level-1 DFD ..................................................................................................... 24
Fig 5.6 Level-2 DFD ..................................................................................................... 24
Fig 6.1 Home Page ........................................................................................................ 26
Fig 6.2 Login Page ........................................................................................................ 27
Fig 6.3 Signup Page ....................................................................................................... 27
Fig 6.4 MFA Page ......................................................................................................... 27
Fig 6.5 Dashboard Page ................................................................................................. 28
Fig 6.6 Create Password Page ........................................................................................ 28
Fig 6.7 Account Setting Page ......................................................................................... 29
Fig 6.8 MF Settings Page ............................................................................................... 29
Fig 6.9 Logs Page .......................................................................................................... 30
Fig 8.1 Work Desk ........................................................................................................ 32
Fig 8.2 Working ............................................................................................................ 33
Fig 8.3 Project Discussion ............................................................................................. 33
Fig 8.4 Working Area .................................................................................................... 34

iii
List of Tables

Table 3.1 1st Week Work Plan.......................................................................................... 8


Table 3.2 2nd Week Work Plan ........................................................................................ 8
Table 3.3 3rd Week Work Plan ......................................................................................... 9
Table 3.4 4th Week Work Plan ......................................................................................... 9
Table 3.5 5th Week Work Plan ....................................................................................... 10
Table 3.6 6th Week Work Plan ....................................................................................... 10
Table 3.7 7th Week Work Plan ....................................................................................... 11
Table 3.8 8th Week Work Plan ....................................................................................... 11
Table 3.9 9th Week Work Plan ....................................................................................... 12
Table 3.10 10th Week Work Plan ................................................................................... 12
Table 3.11 11th Week Work Plan ................................................................................... 13
Table 3.12 12th Week Work Plan ................................................................................... 13
Table 3.13 13th Week Work Plan ................................................................................... 14
Table 7.1 Test Cases ...................................................................................................... 31
Table 8.1 Dates of Continuous Evaluation .................................................................... 34

iv
Abbreviations

API Application Programming Interface


UI User Interface
OS Operating System
IDE Integrated Development Environment
OOP Object Oriented Programming
JSON JavaScript Object Notation
SQL Structured Query Language
HTML Hyper Text Markup Language
CSS Cascading Style Sheet
HTTP Hyper Text Transfer Protocol
MERN MongoDB Express React Node
MFA Multi Factor Authentication
URL Uniform Resource Locator
R&D Research and Development
GB Gigabyte
RAM Random Access Memory

v
Table of Contents
ACKNOWLEDGEMENT ................................................................................................ I
ABSTRACT .................................................................................................................... .II
LIST OF FIGURES ....................................................................................................... .III
LIST OF TABLES ......................................................................................................... IV
ABBREVIATION ......................................................................................................... ..V
LIST OF CONTENTS .................................................................................................. ..VI
CHAPTER 1 OVERVIEW OF THE COMPANY ....................................................... 1
1.1 HISTORY .............................................................................................................. 1
1.2 DIFFERENT PRODUCTS ..................................................................................... 1
1.3 ORGANIZATION CHART ................................................................................... 1
CHAPTER 2 OVERVIEW OF DIFFERENT PLANT ................................................ 2
2.1 WORK BEING CARRIED OUT IN EACH DEPARTMENT ................................ 2
2.2 SPECIFICATION OF EQUIPMENT USED IN DIFFERENT DEPARTMENT ..... 3
2.3 SCHEMATIC LAYOUT TO SHOW SEQUENCE OF OPERATION FOR
MANUFACTURING END PRODUCT ....................................................................... 3
2.4 DESCRIPTION OF EACH STAGE OF PRODUCTION ....................................... 4
CHAPTER 3 INTRODUCTION TO INTERNSHIP AND INTERNSHIP
MANAGEMENT ........................................................................................................... 5
3.1 INTERNSHIP SUMMARY ................................................................................... 5
3.2 PURPOSE.............................................................................................................. 5
3.3 OBJECTIVE .......................................................................................................... 5
3.4 SCOPE .................................................................................................................. 6
3.5 TECHNOLOGY AND LITERATURE REVIEW .................................................. 6
3.6 INTERNSHIP PLANNING ................................................................................... 7
3.6.1 Internship Efforts and Time ............................................................................. 7
3.6.2 Role and Responsibilities ................................................................................. 7
3.6.3 Grope Dependencies ........................................................................................ 7
3.6.4 Plan of Work ................................................................................................... 8
3.6 INTERNSHIP SCHEDULING............................................................................. 14
CHAPTER 4 SYSTEM ANALYSIS ........................................................................... 15
4.1 STUDY OF CURRENT SYSTEM ....................................................................... 15
4.2 PROBLEM AND WEAKNESS OF CURRENT SYSTEM .................................. 15

4.3 REQUIREMENTS OF NEW SYSTEM ............................................................... 15


vi
4.4 SYSTEM FEASIBILITY ..................................................................................... 16
4.4.1 Does the system contribute to the overall objectives of the organization? ....... 16
4.4.2 Can the system be implemented using the current technology and within the
given cost and schedule constraints?....................................................................... 16
4.4.3 Can the system be integrated with other systems which are already in place? 16
4.5 ACTIVITY IN NEW SYSTEM............................................................................ 16
4.6 FEATURE OF NEW SYSTEM ........................................................................... 16
4.7 MAIN MODULE OF NEW SYSTEM ................................................................. 16
4.8 SELECTION OF HARDWARE / SOFTWARE AND JUSTIFICATION............. 17
CHAPTER 5 SYSTEM DESIGN................................................................................ 18
5.1 SYSTEM DESIGN AND METHODOLOGY ...................................................... 18
5.2 DATABASE DESIGN ......................................................................................... 18
5.3 UML DIAGRAMS .............................................................................................. 20
5.3.1 Use Case Diagrams ........................................................................................ 20
5.3.2 Sequence Diagrams ....................................................................................... 21
5.3.3 Activity Diagrams ......................................................................................... 22
5.3.4 Class Diagrams .............................................................................................. 23
5.3.5 Data Flow Diagrams ...................................................................................... 24
CHAPTER 6 IMPLEMENTATION .......................................................................... 25
6.1 IMPLEMENTATION PLATFORM / ENVIRONMENT ..................................... 25
6.2 TECHNOLOGY .................................................................................................. 25
6.3 OUTCOMES ....................................................................................................... 26
6.4 RESULT ANALYSIS .......................................................................................... 30
CHAPTER 7 TESTING .............................................................................................. 31
7.1 TEST RESULT AND ANALYSIS....................................................................... 31
7.1.1 Test Case ....................................................................................................... 31
CHAPTER 8 CONCLUSION AND DISCUSSION ................................................... 32
8.1 OVERALL ANALYSIS OF INTERNSHIP ......................................................... 32
8.2 PHOTOGRAPH AND DATE OF SURPRISE VISIT BY INSTITUTE MENTOR
..........................................................................................................................................32
8.3 DATES OF CONTINUOUS EVALUATION ......................................................... 34
8.4 PROBLEM ENCOUNTERED AND POSSIBLE SOLUTION ............................. 35
8.5 SUMMARY OF INTERNSHIP ........................................................................... 35

8.6 LIMITATION AND FUTURE ENHANCEMENT .............................................. 35


REFERENCES ............................................................................................................ 36
vii
1010206801 Overview of the Company

CHAPTER 1 OVERVIEW OF THE COMPANY

1.1 HISTORY

• Company Name: CrawlApps Technologies


• Type: IT Services and IT Consulting
• Expertise: Mobile Application, Website and Shopify Development.
• Website: https://crawlapps.com/
• Address: A-706, RJD Business Hub Opp. Naginawadi Road, Katargam Surat.
• CrawlApps Technologies is a privately held company founded in 2017. The
company was founded by Mr. Fenil Lathiya, Mr. Kalpesh Satasiya and Mr.
Mahesh Vayak. The company started with Shopify development as its main
product. Currently, the company has many different products in the market
including Web Applications, Mobile Applications and Shopify Solutions.

1.2 DIFFERENT PRODUCTS

Products of Company:
• Multiple Shopify Stores & Apps
• Multiple Web & Mobile Applications
• Custom & Public Shopify Apps

1.3 ORGANIZATION CHART

Fig 1.1 Organization Chart

Bhagwan Mahavir University 1 BAIT, Surat


1010206801 Overview of Different Plant

CHAPTER 2 OVERVIEW OF DIFFERENT PLANT

2.1 WORK BEING CARRIED OUT IN EACH DEPARTMENT

• Project Manager: The project manager manages all the projects of all departments.
The project manager defines the scope of the project, manages resources and cost
of the project, documents the process of the project, manages the risk, and performs
the quality assurance.

• Web Department: In CrawlApps Technologies web department works on


Python, Django, PHP, Laravel, Node, MERN, etc. They maintain the different
products of a company’s clients. The web department also maintains the Databases
on the server and works on the Back-end and Front-end of new ongoing projects.

• Android Department: The Android department works on the android application


development using Java, Kotlin and Flutter. This department also maintains the
application of the company’s clients and performs the testing of the new apps on
different devices with different API levels.

• Graphics Department: The graphic department used to work on designing the


different user interfaces of web applications and Android applications. Also
designs the advertisement banners.

• Quality Assurance Department: The Quality Assurance department ensures that


the software passes all checks before its release to the public. They oversee every
phase of design, development, testing and delivery to verify if the product meets
the quality standards and requirements, and they work with a team and report to a
manager.

Bhagwan Mahavir University 2 BAIT, Surat


1010206801 Overview of Different Plant

2.2 SPECIFICATION OF EQUIPMENT USED IN DIFFERENT

DEPARTMENT

• Web and Android Department:


o Personal computer, Laptop, and Mobile
o Servers

2.3 SCHEMATIC LAYOUT TO SHOW SEQUENCE OF OPERATION

FOR MANUFACTURING END PRODUCT

Fig 2.1 Schematic layout of manufacturing

Bhagwan Mahavir University 3 BAIT, Surat


1010206801 Overview of Different Plant

2.4 DESCRIPTION OF EACH STAGE OF PRODUCTION

1. Requirement Analysis: Requirement analysis is the first stage of production in


which all the information relevant to the product is collected. The information
domain, function, and behavioral requirements of the system are understood.

2. Design: Design focuses on Data structure, Software architecture, Interface


representation, and Algorithm details. The requirements are represented in an easily
understandable form and using which implementation can be done effectively and
efficiently.

3. Development/Coding: In development stage design is translated into machine-


readable form. If the design is done with sufficient details, then coding can be done
effectivity.

4. Testing: Testing begins when development is done. During the testing the logical
internals of the software is tested and ensures execution of all the paths and
functional behaviors.

5. Deployment: In this phase, the product is deployed in the user’s work environment.

6. Review: After deployment of the product, the last step is taking a review from the
user and if the user suggests any changes or wants to add a new module the product
again went into another increment.

Bhagwan Mahavir University 4 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

CHAPTER 3 INTRODUCTION TO INTERNSHIP AND

INTERNSHIP MANAGEMENT

3.1 INTERNSHIP SUMMARY

My internship was at CrawlApps Technologies. My internship was on web


development. While I was there, I performed many different tasks related to web
development from the beginning to the advanced level. The training was started by
learning HTML, CSS, JS, Python and Django and completed by undertaking some
hands-on practical. I was able to build a Relational Database and manipulated
Unstructured data. This internship has affected my growth in several ways, it has helped
me in learning everything related to Web Development, and other than that I have also
learned many business skills.

The team of CrawlApps Technologies has helped me a lot in enhancing my skills.


They provide me with pre-made templates and hands-on practical to learn. I was also
a part of a testing team as I have also performed unit testing and functional testing of
the web application.

The internship was all about being adaptive to the industrial environment and
working in a team. The internship taught me a lot, about how to put my knowledge and
skill into practice, time management, communication skill, and most importantly
teamwork.

3.2 PURPOSE

An internship provides unique opportunities for learning outside of an academic


setting. An internship can give us an authentic experience that helps us in identifying
career goals, and it also gives us workplace experience before actually entering the
workforce.

3.3 OBJECTIVE

• The main objective of internship is to gain experience in a particular field. However,


people can benefit from internship in order to receive industrial experience and
develop their skill.

Bhagwan Mahavir University 5 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

• An objective for this position should emphasize the skill you already possess in the
area and our interest in learning more. The objective of a web intern is to utilize his
skills and experience in a way that he can secure a challenging and rewarding
position as a web developer in the industry.

3.4 SCOPE

Web development is a thriving field, with an increasing demand for skilled


professionals. Several factors contribute to the expanding scope of web development
careers. Firstly, the open-source nature of web technologies allows for widespread
innovation and collaboration. Additionally, web development offers a high return on
investment, making it an attractive career path for those with limited resources.

3.5 TECHNOLOGY AND LITERATURE REVIEW

• Technology
Web: HTML, CSS, and JavaScript: HTML (Hypertext Markup Language), CSS
(Cascading Style Sheets), and JavaScript are fundamental technologies used in web
development. HTML provides the structure, CSS enhances the presentation, and
JavaScript adds interactivity and functionality to web pages.
Python: Python is a versatile, high-level programming language known for its
simplicity and readability. It is widely used in web development, data science,
artificial intelligence, and more. Python's extensive library ecosystem and clear syntax
make it a popular choice for building web applications.
Django: Django is a powerful web framework for building web applications with
Python. It follows the "Don't Repeat Yourself" (DRY) principle and emphasizes rapid
development and clean, pragmatic design. Django provides built-in features for
authentication, URL routing, database management, and more, allowing developers to
focus on building robust and scalable web applications.
• Literature Review
In the expansive domain of web development, a synergy of HTML, CSS,
JavaScript, Python, and Django stands as the cornerstone for crafting dynamic and
engaging web applications. HTML, CSS, and JavaScript form the fundamental triad,
enabling the structuring of content, the styling of elements, and the infusion of
functionality into websites. Python, renowned for its versatility and readability,
assumes a pivotal role in web development, empowering developers to efficiently
construct intricate web applications while capitalizing on its rich library ecosystem

Bhagwan Mahavir University 6 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

and lucid syntax. Django, a robust Python web framework, further refines the
development process by furnishing a structured and pragmatic approach to web
application building. Equipped with Django's integrated features for authentication,
URL routing, and database management, developers are empowered to channel their
efforts towards innovating and scaling their web solutions.

3.6 INTERNSHIP PLANNING

3.6.1 Internship Effort and Time

Total duration of internship was three months from 15th January 2024 to 15th
April 2022. The internship was five days a week and the daily timing of the internship
was eight hours a day. In the day of inter, I have to start with taking the task from the
Team Leader and then I have to start implementing it and if necessary, I have to
perform functional and unit testing of the application, and at the end of the day I have to
submit all the tasks completed by me to Team Leader along with daily task report.

3.6.2 Role and Responsibilities

As a web development intern, my responsibilities are working on a given task, after


completion of the task taking a review from the Team leader and if there are any
changes then modifying the application.

Other than that, there are other responsibilities of writing good and low complexity
code, performing functional testing and stress testing on the different devices with
different rate limits, and also submitting daily work reports.

3.6.3 Group Dependencies

Dependencies in project management deal with managing and scheduling project


tasks and executing a task in a proper sequence as they depend on another task. If task
B requires the completion of task A, then we can say that task B depends on task A.

In CrawlApps Technologies different departments work on the different parts of a


project. As project development starts from the Project Management group as they
perform the Analysis of the project and generates the Cost estimation and Time
Scheduling of the Project, after that it goes to the Graphic design department to
develop UI, and then the Development department takes the project and starts the
development, and at the end, the project is tested by Testing team. So here all the
groups depend on each other at some level while developing the project.
Bhagwan Mahavir University 7 BAIT, Surat
1010206801 Introduction to Internship and Internship Management

3.6.4 Plan of Work

Table 3.1 1st Week Work Plan

Date Day Topic


Introduction to applications of Internet, WWW,
15/01/2024 Monday Web Browsers and Search Engines. Concept of
DNS & URLs.

16/01/2024 Tuesday Definition of Internet, Intranet, Extranet, Servers


1st Clients, Ports and ISP etc.
WEEK Demonstrate the use of Web Browser, Search
17/01/2024 Wednesday Engine and World Wide Web for accessing
information.

18/01/2024 Thursday Concepts of Static, Interactive and Dynamic Web


pages.

19/01/2024 Friday Introduction to HTML Tags and Attributes, HTML


Basic Tags.

Table 3.2 2nd Week Work Plan

Date Day Topic


Practice with basic HTML elements (e.g., head,
23/01/2024 Tuesday title, body), tag and attributes.

24/01/2024 Wednesday Demonstration on the use of marquees, hyperlinks


and mail to link in designing web pages.
2nd
Assist to design web page using password field,
WEEK 25/01/2024 Thursday submit button, Reset button and Radio button etc.

26/01/2024 Friday Discuss CSS concepts and types, features and


benefits of CSS, CSS Syntax, External Style Sheet
using <link>, Multiple Style Sheets, Value
Lengths and Percentages.

Bhagwan Mahavir University 8 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.3 3rd Week Work Plan

Date Day Topic


Color Background Cursor, Text Fonts, Lists
29/01/2024 Monday Tables, Box Model, Display Positioning.

30/01/2024 Tuesday Apply CSS syntax, Add colors, fonts,


backgrounds, images borders, text alignment, text
transformation etc.
3rd Apply CSS counters and evaluate website layout
31/01/2024 Wednesday including multiple backgrounds and external
WEEK
stylesheet usage.

01/02/2024 Thursday Explore nature of JavaScript, Script Writing


Basics, Enhancing HTML Documents with
JavaScript, The Building Blocks.

02/02/2024 Friday Examine conditionals in JavaScript, encompassing


ternary operators, conditional ladders, and switch
statements.

Table 3.4 4th Week Work Plan

Date Day Topic


Explore loops in JavaScript, including while,
05/02/2024 Monday do/while, for loops, break and continue
statements, and iterating arrays and objects

06/02/2024 Tuesday Discuss JavaScript scope, including scope


introduction, scope in JavaScript, lexical scope,
4th and module scope
WEEK Creating Dynamic Web Pages, Concept of Java
07/02/2024 Wednesday Scripting the Forms, Basic Script Construction,
Talking to the Form Objects.

08/02/2024 Thursday Demonstration on Programming and Scripting


Languages. Familiarize with JavaScript basics for
web application

09/02/2024 Friday Apply JavaScript basics, including using data


types, variables, constants and converting between
data types

Bhagwan Mahavir University 9 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.5 5th Week Work Plan

Date Day Topic


Utilize program control statements and loops in
12/02/2024 Monday JavaScript for practical problem-solving.

13/02/2024 Tuesday Demonstrate concepts related to string, math, and


date.
5th Apply concepts of pop-up boxes in JavaScript for
14/02/2024 Wednesday enhanced user interaction.
WEEK

15/02/2024 Thursday Create animation and multimedia files in Java


Script.

16/02/2024 Friday Introduction to Python, Variables, Numeric Data


Types: Int & Float, Sequential Types: Str & List,
If-Elif-Else Statements, Creating Python
Scripts/Files

Table 3.6 6th Week Work Plan

Date Day Topic

19/02/2024 Monday Definite loops: For loop, Indexing, Slicing.

20/02/2024 Tuesday Advanced Data Types in Python, Data Types:


tuples, Dictionaries, Reading and Writing txt and
6th csv files

WEEK 21/02/2024 Wednesday Writing Iterative Code and Algorithms, Indefinite


loops: while loops, Runtime complexity, Searching
and sorting algorithms.

22/02/2024 Thursday Custom functions in Python, Args and Kwargs,


Importing files

23/02/2024 Friday Introduction to Object Oriented Programming

Bhagwan Mahavir University 10 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.7 7th Week Work Plan

Date Day Topic


26/02/2024 Monday Working with APIs, RESTful architecture

27/02/2024 Tuesday Introduction to Django, Introduction to Back-End


Web Development using Django.

Virtual environment, Django structure, Generic


7th 28/02/2024 Wednesday Views.
WEEK
29/02/2024 Thursday HTML templates, URL dispatcher

01/03/2024 Friday Advanced Django for Web and Automation,


Custom Views, GET and POST methods.

Table 3.8 8th Week Work Plan

Date Day Topic


04/03/2024 Monday User model, Logic in templates, Querying models

05/03/2024 Tuesday Serving Staticfiles, Deployment of Django,


Automating tasks with Django
Django REST, Building Web APIs using Django
06/03/2024 Wednesday REST, Generic Views in Django Rest, Serializers
8th
WEEK 07/03/2024 Thursday JSON, Building RESTful APIs, Filtering Models,
Working with Images

08/03/2024 Friday Authentication with tokens, Postman, Related


models.

Bhagwan Mahavir University 11 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.9 9th Week Work Plan

Date Day Topic


Deploying Web APIs, Using API endpoints,
11/03/2024 Monday Deployment of Django REST project.

12/03/2024 Tuesday Download & Install Git on Linux, Git Setup: Your
Name & Email, Command Line Basics.
9th
WEEK Create a Git Repository: git init, Stage & Commit
13/03/2024 Wednesday Files: git add, git commit, & git log, Ignore Files
with .gitignore

Thursday Create a ReadMe File, create a New Remote


Repository (on GitHub & Bitbucket), Push to a
14/03/2024 Remote Repository: git push.

15/03/2024 Friday Pull From a Remote Repository: git pull & git
fetch, Clone a Remote Repository: git clone.

Table 3.10 10th Week Work Plan

Date Day Topic


How to Handle Merge Conflicts, Pull Requests,
18/03/2024 Monday Undo Changes: git checkout, git revert, & git
reset.

19/03/2024 Tuesday Cherry Picking: git cherry-pick, Stash: git stash


10th
WEEK 20/03/2024 Wednesday Quick Reference of Git Commands (Common
Workflows), Git GUI Apps & Code Editors with
Git Integration.

21/03/2024 Thursday System Design of Kbitz – A password


management system, Data flow of PMS.,
Preparation of HLD & LLD., DB Design.

22/03/2024 Friday Django Project setup, DB Setup & Connection,


Model Designing.

Bhagwan Mahavir University 12 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.11 11th Week Work Plan

Date Day Topic


26/03/2024 Tuesday Template Designing, CSS Design

27/03/2024 Wednesday Django URL Setup, Basic Views Setup,


11th Templates management.

WEEK Implementing template in Django, Using DTL.


28/03/2024 Thursday Enhancing Django views.

29/03/2024 Friday Django User authentication implementation, Using


AJAX for user auth.

Table 3.12 12th Week Work Plan

Date Day Topic


01/04/2024 Monday Designing Dashboard, Designing different
required pages.

02/04/2024 Tuesday Pointing URL to different views, rendering


templates based on views conditions.
12th R&D on TOTP Based authentication, Testing &
03/04/2024 Wednesday Implementation of QR Code based auth.
WEEK

04/04/2024 Thursday Implementation of 2FA, Implementation of


Password management – CRUD.

05/04/2024 Friday Implementation of password encryption, Used


AJAX to decrypt password on the go.

Bhagwan Mahavir University 13 BAIT, Surat


1010206801 Introduction to Internship and Internship Management

Table 3.13 13th Week Work Plan

Date Day Topic


Deployment of project on render, Testing project
13th 08/04/2024 Monday
WEEK on render, Discussions on security improvements
of passwords.

3.7 INTERNSHIP SCHEDULING

Fig 3.1 Internship Scheduling Chart

Bhagwan Mahavir University 14 BAIT, Surat


1010206801 System Analysis

CHAPTER 4 SYSTEM ANALYSIS

4.1 STUDY OF CURRENT SYSTEM


Google Password Manager is a convenient tool offered by Google to securely store
and manage passwords for various online accounts. Integrated into the Google
ecosystem, it allows users to generate strong passwords, autofill login credentials,
and sync passwords across devices seamlessly. With features like two-factor
authentication and encryption, it ensures robust security measures to safeguard user
data. Additionally, it provides insights into password strength and alerts users about
compromised passwords, enhancing overall account protection. Google Password
Manager simplifies the often-cumbersome task of password management, offering
users peace of mind and efficient control over their online security.

4.2 PROBLEM AND WEAKNESS OF CURRENT SYSTEM


While Google Password Manager offers convenience, it also poses certain problems
and weaknesses. One notable concern is its reliance on a single Google account,
making it vulnerable to potential breaches if that account is compromised.
Additionally, its integration solely within the Google ecosystem may limit
compatibility with non-Google services. Despite encryption measures, centralized
storage of passwords raises security risks, as any breach could expose multiple
accounts. Moreover, some users may prefer more advanced features and
customization options not provided by Google Password Manager. These limitations
underscore the importance of considering alternative password management
solutions for comprehensive security needs.

4.3 REQUIREMENTS OF NEW SYSTEM


A stand-alone password management system would give user a freedom to store and
retrieve passwords of different websites/accounts without getting involved in any
specific ecosystem. Users can retrieve the password at anytime and anywhere by just
logging into our system. All passwords are being stored after successful encryption.
Our system also provides 2FA for logging in into our system, providing more
security. Good UI & UX helps better user experience.

Bhagwan Mahavir University 15 BAIT, Surat


1010206801 System Analysis

4.4 SYSTEM FEASIBILITY

4.4.1 Does the system contribute to the overall objective of the organization?

Currently, the system is implemented as a stand-alone system, so it is not


contributing to the overall objective of the organization. But in future organization can
use this system as product.

4.4.2 Can the system be implemented using the current technology and within the

given cost and schedule constraints?

Yes, System can be implemented using the current technology and within the given
cost and schedule constraints.

4.4.3 Can the system be integrated with other system which are already in place?

The system cannot be integrated with other systems as a system is developed as


stand-alone web application, without exposing any APIs for integration.

4.5 ACTIVITY IN NEW SYSTEM


The main activity of the KBitz – Password management system is to store and
retrieve passwords of different accounts/websites. This web-app also has some other
activities like activating 2FA using several TOTP based apps. It notifies users on
each authentication activity, providing better security.

4.6 FEATURE OF NEW SYSTEM


The main feature of the KBitz – Password management system is to store and
retrieve passwords of different accounts/websites. This web-app also has some other
features like logging all the activity logs such as login, password create, update,
delete etc. It also has a feature of notifying users on each authentication activity,
providing better security.

4.7 MAIN MODULE OF NEW SYSTEM


Since this is a web application, it requires support for backend as well as frontend to
work perfectly. I have used relational database to store data such as user data, sites
data, password data etc. I have used Django framework in backend for server-side
logic implementation and HTML, CSS & JS. Main Module of the system defines the
user dashboard where they can create, save and retrieve passwords.

Bhagwan Mahavir University 16 BAIT, Surat


1010206801 System Analysis

4.8 SELECTION OF HARDWARE/SOFTWARE AND

JUSTIFICATION

• Hardware Require
1. CPU: Core i3 Processor minimum, Intel i5 recommended
Web frameworks does not require a higher processing power. However, with a
higher processor, whatever computing needs to be done, completes in
sufficient time, without making the device lag too much.
2. RAM: 4 GB RAM minimum, 8 GB RAM recommended
Visual studio Code is large, while using, it loads in the memory, so with a
large amount of memory, Visual studio Code runs smoothly and allocation of
heap and thread becomes easy for the system.
3. Disk: 4 GB available disk space minimum
Visual studio Code is already large in size and after installation it, size of
software extends, that why we need larger free space as compare to original
size of software.

• Software Require
1. Operating System: Windows (64-bit Microsoft Windows 8/10/11) / Mac
(MacOS 10.14 or Higher) / Linux (64-bit Linux distribution)
Operating System is required to run Software in the system. For the newer
version of the software, a higher level of OS is required.
2. Software: Visual studio Code
To create web application, we need any IDE as a development environment
that provides Build tools to build, debug, run and test web applications.

Bhagwan Mahavir University 17 BAIT, Surat


1010206801 System Design

CHAPTER 5 SYSTEM DESIGN

5.1 SYSTEM DESIGN AND METHODOLOGY

System is designed using an Agile Methodology. Agile methodology is iterative in


nature which gives developer a flexibility to make changes as require in the any part
of the software.
Agile Methodology
Agile software development refers to a group of software development
methodologies based on iterative development, where requirements and solutions
evolve through collaboration between self-organizing cross-functional teams. Agile
methods or Agile processes generally promote a disciplined project management
process that encourages frequent inspection and adaptation, a leadership philosophy
that encourages teamwork, self-organization and accountability, a set of engineering
best practices intended to allow for rapid delivery of high-quality software, and a
business approach that aligns development with customer needs and company goals.

Kanban
Kanban is a framework used in agile development. It requires real-time
communication and full transparency of work. Work items are represented visually on
a kanban board, allowing team members to see the state of every piece of work any
time.

The work of all kanban teams resolves around a kanban board, a tool used to
visualize work and optimize the flow of the work among the team. Regardless of
whether a team's board is physical or digital, their function is to ensure the team's work
is visualized, their workflow is standardized, and all blockers and dependencies are
immediately identified and resolved. A basic kanban board has a three-step workflow:
To Do, In Progress, and Done. However, depending on a team's size, structure, and
objectives, the workflow can be mapped to meet the unique process of any particular
team.

5.2 DATABASE DESIGN

As I have worked with both Relation and Non-Relational Database. Relational


databases store data in row and column format while non-relational database does not

Bhagwan Mahavir University 18 BAIT, Surat


1010206801 System Design

us the tabular format, instead it uses a storage model that is optimized for the specific
requirements of the type of data being stored.

Relational Database:

A relational database is a type of database. It uses a structure that allows us to


identify and access data in relation to another piece of data in the database. Often, data
in a relational database is organized into tables.

Tables can have hundreds, thousands, sometimes even millions of rows of data.
These rows are often called records. Tables can also have many columns of data.
Columns are labeled with a descriptive name and have a specific data type. Example of
relation databases are MySQL, PostgreSQL, SQLite and SQL Server.

Non-Relational Database:

Non-relational databases, also called NoSQL databases, the most popular being
MongoDB, Cassandra, Couchbase, HBase, Redis, and Neo4j. These databases are
usually grouped into four categories: Key-value stores, Graph stores, Column stores,
and Document stores. NoSQL databases are increasingly used in big data and real-
time web applications.

Bhagwan Mahavir University 19 BAIT, Surat


1010206801 System Design

5.3 UML DIAGRAMS

5.3.1 Use Case Diagram

Fig 5.1 KBitz Use Case

Bhagwan Mahavir University 20 BAIT, Surat


1010206801 System Design

5.3.2 Sequence Diagram

Fig 5.2 Sequence Diagram of User

Bhagwan Mahavir University 21 BAIT, Surat


1010206801 System Design

5.3.3 Activity Diagram

Fig 5.3 Activity Diagram

Bhagwan Mahavir University 22 BAIT, Surat


1010206801 System Design

5.3.4 Class Diagrams

Fig 5.4 Class Diagram

Bhagwan Mahavir University 23 BAIT, Surat


1010206801 System Design

5.3.5 Data Flow Diagrams

Fig 5.5 Level-1 DFD

Fig 5.6 Level-2 DFD

Bhagwan Mahavir University 24 BAIT, Surat


1010206801 Implementation

CHAPTER 6 IMPLEMENTATION

6.1 IMPLEMENTATION PLATFORM / ENVIRONMENT

The web application was implemented for all the modern web browsers using
HTML, CSS, JS & Django. The platform used for implementation of application was
Visual Studio Code.

• Operating System: 64-bit Microsoft Windows 11


• Software/Integrated Development Environment: Visual Studio Code.
• Development Environment: Django, PostgreSQL DB

6.2 TECHNOLOGY

HTML: HTML (Hypertext Markup Language) is the backbone of web pages,


defining the structure and content. It uses tags to organize elements such as headings,
paragraphs, images, and links.

CSS: CSS (Cascading Style Sheets) enhances HTML by controlling the presentation,
including layout, colors, fonts, and animations. It separates style from content,
allowing for consistent and visually appealing designs across web pages.

JS: JavaScript (JS) is a versatile scripting language that adds interactivity and
dynamic behavior to web pages. It enables functionalities like form validation,
interactive maps, animations, and real-time updates without reloading the page.

Django: Django is a high-level Python web framework that simplifies web


development by providing a robust set of tools and features. It follows the DRY
(Don't Repeat Yourself) principle, emphasizing efficiency and scalability.

Bhagwan Mahavir University 25 BAIT, Surat


1010206801 Implementation

6.3 OUTCOMES

All functions of the web application are working, there are multiple pages for
password management. Let’s discuss each function screen wise.

• Home Page

Fig 6.1 Home Page

Bhagwan Mahavir University 26 BAIT, Surat


1010206801 Implementation

• Login Page

Fig 6.2 Login Page

• Signup Page

Fig 6.3 Signup Page

• Multi-Factor Authentication Page

Fig 6.4 MFA Page

Bhagwan Mahavir University 27 BAIT, Surat


1010206801 Implementation

• Dashboard Page

Fig 6.5 Dashboard Page

• Create Password Page

Fig 6.6 Create Password Page

Bhagwan Mahavir University 28 BAIT, Surat


1010206801 Implementation

• Account Setting Page

Fig 6.7 Account Setting Page

• Multi-Factor Settings Page

Fig 6.8 MF Settings Page

Bhagwan Mahavir University 29 BAIT, Surat


1010206801 Implementation

• Logs Page

Fig 6.9 Logs Page

6.4 RESULT ANALYSIS

All the application were tested at the during the implementation and at the end of
the implementation, the test results were positive and all the functionality of the
application were working perfectly, but in some case, we also find some miss
behavioral of UI and Flow of execution and that will be fixed in the future increments.

Bhagwan Mahavir University 30 BAIT, Surat


1010206801 Testing

CHAPTER 7 TESTING

7.1 TEST RESULT AND ANALYSIS

7.1.1 Test Cases

Test Id Test Case Expected Output Actual Output Pass/Fail


1 User User should be Acknowledgment Pass
authentication acknowledged for successfully delivered
each action.

2 Post login action. Redirection to Redirecting to Pass


dashboard screen post
dashboard screen
login.
post login.
3 Store passwords Store passwords of Storing passwords of Pass
different accounts of different accounts of
the user the user

4 Password Decrypt password Decrypting password Pass


decryption when users want to when user wants to
show password show password
5 Manage 2FA Manage 2FA auth, 2FA management Pass
by verifying the working fine.
OTP generated by
auth app.
6 User account Update user Updating user account Pass
update.
account when user details
wants to do so.
7 Logout Logout user and Session clearing Pass
clear current successfully.
session.

Table 7.1 Test Cases

Bhagwan Mahavir University 31 BAIT, Surat


1010206801 Conclusion and Discussion

CHAPTER 8 CONCLUSION AND DISCUSSION

8.1 OVERALL ANALYSIS OF INTERNSHIP

This internship allowed me to work in an industrial environment and be supervised


by experts. Throughout my time at CrawlApps Technologies, the team has led me in
every possible way from the beginning to the end. While working on the practical
implementation I got support from both the Development team and the Testing team.
The program offered by CrawlApps Technologies was fully structured and scheduled,
every task had a complete description of learning and implementation with different
milestones to complete. After the completion of every functionality, I performed
Function and UI testing of the application, which gave me the experience of how
developer side testingis carried out.

Overall, the internship was very beneficial as I have improved my technical and
practical knowledge along with the Business skills like Teamwork, Time management,
Leadership, and lot more.

8.2 PHOTOGRAPH AND DATE OF SURPRISE VISIT BY

INSTITUTE MENTOR

Fig 8.1 Work Desk

Bhagwan Mahavir University 32 BAIT, Surat


1010206801 Conclusion and Discussion

Fig 8.2 Working

Fig 8.3 Project Discussion

Bhagwan Mahavir University 33 BAIT, Surat


1010206801 Conclusion and Discussion

Fig 8.4 Working Area

8.3 DATES OF CONTINUOUS EVALUATION

Table 8.1 Dates of Continuous Evaluation

Continues Evaluation 1 09th April 2024

Continues Evaluation 2 18th April 2024

Bhagwan Mahavir University 34 BAIT, Surat


1010206801 Conclusion and Discussion

8.4 PROBLEM ENCOUNTERED AND POSSIBLE SOLUTIONS

Multi Factor Authentication


Problem:

The problem with MFA with QR Code is that it is TOTP that is it is a time-based OTP
and changes every 30 seconds or 60 minutes, so when user requests a QR code and then
wait for 30-60 seconds on that page, and then tries to register for 2FA would result in
invalid registration as there will be two different OTPs.
Solution:

If user waits for 30-60 seconds after requesting QR code, then we can remind user to
refresh the page and get another QR code, but this would affect user experience.

8.5 SUMMARY OF INTERNSHIP


My internship at CrawlApps Technologies lasted about three months. The internship was
on Web development. My internship focused mostly on working with Django and other
front-end technologies like HTML, CSS & JS. The internship has been an excellent and
valuable experience. I encountered some issues while working with Django, but I also
found some possible solutions through R&D. I can conclude that I have learned a lot
from my work at CrawlApps Technologies. The internship was not just about learning
technical skills but it was also about adapting to the Industrial Environment, working
under the experts and learning Business Skills. CrawlApps Technologies has assisted me in
every technical and practical aspect, from pre-made templates to actualimplementation.

8.6 LIMITATION AND FUTURE ENHANCEMENT

Limitation

Passwords that are being stored is encrypted using Fernet module from
cryptography package in python. It is a symmetric key cryptography, so the same key
needs to be for encryption as well as decryption, so we have to also store the key that
is required for encryption & decryption.

Future Enhancement

There are some UI level bugs in authentication page, that needs to be improved
for better user experience.

Bhagwan Mahavir University 35 BAIT, Surat


1010206801 References

REFERENCES

1. https://docs.djangoproject.com/en/5.0/
2. https://cryptography.io/en/latest/fernet/
3. https://pyauth.github.io/pyotp/
4. https://pypi.org/project/qrcode/
5. https://render.com/

Bhagwan Mahavir University 36 BAIT, Surat

You might also like