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