InternshipReport Ashok

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Parul Institute of Engineering & Technology

Internship Report

Business Website

A PROJECT REPORT

Submitted by

ASHOK POUDEL
200303105910

In partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING
in
Computer Science and Engineering

Parul Institute of Engineering


and Technology, Limbda

Parul University, Limbda


March-2024
Parul Institute of Engineering & Technology, Limda

CERTIFICATE

This is to certify that the project report submitted along with the project entitled Business Website
has been carried out by Mr. Ashok Poudel under my guidance in partial fulfillment for the degree
of Bachelor of Engineering in Computer Science and Engineering, 8th Semester of Parul
University, Vadodara during the AY 2023-24.

Mr. Ishan Rajani Dr. Amit Barve


Internal Guide Head of Department

Mr. Rahul Moud


Internal Guide
NOC Certificate
Company Certificate
Weboin
Date: 01/12/2023

TO WHOM YOU MAY CONCERN

This is to certify that Mr. Ashok Poudel, a student of Parul Institute of Engineering has successfully
completed his internship in the field of web Development from 01/12/2023 to 27/02/2024 (Total
number of Weeks: 12) under the guidance of Mr. Vijay.

During the period of Internship he was given access to Weboin’s Learning Management
Application and all the information including his Training Schedule & Project details were
provided through the application by his trainer.

During the period of her/ his internship program with us, he / she had been exposed to different
processes and was found diligent, hardworking and inquisitive.

We wish him every success in his life and career.

For Webion/Teachnook
Parul Institute of Engineering & Technology, Limbda

DECLARATION

I hereby declare that the Internship / Project report submitted along with the Internship / Project
entitled Business Website submitted in partial fulfillment for the degree of Bachelor of
Engineering in Computer Science and Engineering to Parul University, Vadodara, is a bonafide
record of original project work carried out by me at Weboin/Teachnook under the supervision of
Mr. Rahul Moud and Mr. Ishan Rajani and that no part of this report has been directly copied
from any students’ reports or taken from any other source, without providing due reference.

Name of the Student Sign of Student

Ashok Poudel ___________


Acknowledgement

I would like to express my sincere gratitude to all those who contributed to the
successful completion of this internship and project at Weboin/Teachook. Their
support and dedication have been invaluable.

First and foremost, I extend my heartfelt thanks to Prof. Ishan Rajani and Prof.
Rahul Moud, our project guide, and Mr. Vijay, our industry mentor, for their expert
guidance and unwavering support throughout this endeavor.

I also acknowledge the contributions of my fellow project team members, whose


collective effort and commitment played a vital role in achieving our goals.

The successful completion of this internship and project is a reflection of the


collective efforts, support, and dedication of all those involved at
Weboin/Teachnook. Your contributions have been invaluable, and I am deeply
appreciative.

Ashok Poudel - 200303105910


Abstract

In the realm of internships, a business website serves as an invaluable platform for


interns to gain practical experience and contribute to real-world projects. This
abstract delves into the significance of business websites within the context of
internships, highlighting their role in providing interns with hands-on learning
opportunities and exposure to various aspects of web development, including design,
development, and content creation. Interns working on business websites collaborate
with teams to understand project requirements, gather user feedback, and implement
design and functionality enhancements.

Through their involvement in website development, interns not only refine their
technical skills but also gain insights into business strategies, marketing tactics,
and user experience optimization. This abstract underscores the importance of
business websites as learning environments for interns, fostering professional
growth and preparing them for future roles in the web development industry.
List of Figures

1. Fig 1.1 Organization Chart ………………………………………..2


2. Fig 3.1 MVC……………………………………………………….9
3. Fig 3.2 DOM Manipulation………………………………………..9
4. Fig 5.1: E-Commerce Architecture………………………………..12
5. Fig 5.2: Data Flow…………………………………………………12
6. Fig 5.3: Sequence Diagram………………………………………...13
7. Fig 5.4: Class Diagram……………………………………………..17
List of Tables

1. Test Cases…………………………………………………………………………….21
Abbreviations

DOM: Document Object Model


API: Application Programming Interface
UI: User Interface
VDOM: Virtual DOM
npm: Node Package Manager
SSR: Server-Side Rendering
CSR: Client-Side Rendering
Table of Contents
Acknowledgement i
Abstract ii
List of Figures iii
List of Tables iv
List of Abbreviations v
Table of Content vi

CHAPTER 1: OVERVIEW OF THE COMPANY…………………………………………..1


1.1 History of the Organization………………………………………………………1
1.2 Different Product/Scope of Work………………………………………………...1
1.3 Organization Chart………………………………………………………………..1
1.4 Capacity of Orgnaization………………………………………………………... 2

CHAPTER 2: OVERVIEW OF THE ORGANIZATION…………………………………...3


2.1 Work in Each Department………………………………………………………..3
2.2 Schematic Layout - Sequence of Online Operations. …………………………... 3
2.3 Overview of Teachnook's Internship Program…………………………………...4
2.4 Introduction to Teachnook's Offerings…………………………………………...5

CHAPTER 3: INTRODUCTION TO PROJECT / INTERNSHIP AND PROJECT /


INTERNSHIP MANAGEMENT…………………………………………………………….6
3.1 Project/Internship Summary……………………………………………………...6
3.2 Purpose…………………………………………………………………………...6
3.3 Objective…………………………………………………………………………6
3.4 Scope……………………………………………………………………………..7
3.5 Technology And Literature Review……...………………………………………7
3.5.1 Introduction…………………………………………………………….7
3.5.2 Frontend Technologies…………………………………………………7
3.5.3 Styling and Layout……………………………………………………...8
3.5.4 Backend Technologies………………………………………………….8
3.5.5 Performance Optimization Strategies………………………….……….8
3.5.6 Data Management……………………………………………….……...8
3.6 Project / Internship Planning……………………………………….……………..8
3.6.1 Introduction to Project and Internship ………………………….…...…8
3.6.2 Effort and Time, Cost Estimation for Projects and Internships…….…...8
3.6.3 Roles and Responsibilities……………………………………….…...…8
3.6.4 Group Dependencies…………………………………………………….8
3.7 Project / Internship Scheduling……………………………………………………9

CHAPTER 4: SYSTEM ANALYSIS ………………………………………………………...10


4.1 Study of Current System………………………………………………………….10
4.2 Identifying Problems and Weaknesses of Current System……………………….10
4.3 Requirements Gathering for New System………………………………………..10
4.4 System Feasibility………………………………………………………………...10
4.5 Activities and Processes in the New System……………………………………..10
4.6 Features of the New System……………………………………………………...11
4.7 Main Modules, Components, and Processes of the New System………………...11
4.8 Selection of Hardware, Software, Algorithms, Methodology, and Justification…11

CHAPTER 5: SYSTEM DESIGN……………………………………………………………12


5.1 System Design……………………………………………………………………12
5.1.1. Architecture Overview…………………………………………………13
5.1.2. Database Design (MongoDB) …………………………………………13
5.1.3. Backend Development (Express.js and Node.js) ……………………...13
5.1.4. Frontend Development (React.js) ……………………………………..14
5.1.5. User Experience and Design…………………………………………...14
5.1.6. Payment Gateway Integration………………………………………….14
5.1.7. Performance Optimization……………………………………………..14
5.1.8. Scalability and Deployment……………………………………………14
5.2 Methodology………………………………………………………………………15
5.3 Database Design…………………………………………………………………..17
CHAPTER 6: IMPLEMENTATION………………………………………………………....19
6.1. Implementation Platform / Environment………………………………………....19
6.2. Process / Program / Technology / Modules Specification(s)………………..…...19
6.3. Finding / Results / Outcomes……………………...……………………..............20
6.4. Result Analysis / Comparison / Deliberations……………………...…………....20

CHAPTER 7: TESTING………………………………………………………………………21
a. Testing Plan / Strategy……………………………………………………………21
b. Test Results and Analysis…………………………………………………………22
i. Test Cases…………………………………………………………………22

CHAPTER 8: CONCLUSION AND DISCUSSION…………………………………………23


8.1 Overall Analysis of Internship / Project Viabilities……………………………….23
8.2. Problem Encountered and Possible Solutions…………………………………….23
8.3 Summary of Internship / Project work…………………………………………….25
8.4 Limitation and Future Enhancement………………………………………………26
Details of Chapters

1.0 Overview of the Company


1.1. History
1.2. Different product / scope of work
1.3. Organization chart
1.4. Capacity of plant
2.0 Overview of different plant/unit/department/shop of the organization and Layout of the
production/process being carried out in company
2.1. It includes the details about the work being carried out in each department.
2.2. List the technical specifications of major equipment used in each department.
2.3. Prepare schematic layout which shows the sequence of operation for
manufacturing of end product.
2.4. Explain in details about each stage of production.
3.0 Introduction to Project / Internship and Project / Internship Management
3.1. Project / Internship Summary – Key To a good summary is the FIRST sentence,
which MUST contain the most essential information that you wish to convey.
3.2. Purpose
3.3. Objective
3.4. Scope (what it can do and can’t do)
3.5. Technology and Literature Review
3.6. Project / Internship Planning
3.6.1. Project / Internship Development Approach and Justification
3.6.2. Project / Internship Effort and Time, Cost Estimation
3.6.3. Roles and Responsibilities
3.6.4. Group Dependencies
3.7. Project / Internship Scheduling (Gantt Chart/PERT/Network Chart)
4.0 System Analysis
4.1. Study of Current System
4.2. Problem and Weaknesses of Current System
4.3. Requirements of New System
4.4. System Feasibility
4.4.1. Does the system contribute to the overall objectives of the organization?
4.4.2. Can the system be implemented using the current technology and within
the given cost and schedule constraints
4.4.3. Can the system be integrated with other systems which are already in
place?
4.5. Activity / Process in New System / Proposed System
4.6. Features of New System / Proposed System
4.7. List Main Modules / Components / Processes / Techniques of New System /
Proposed System
4.8. Selection of Hardware / Software / Algorithms / Methodology / Techniques /
Approaches and Justification
5.0 System Design
5.1. System Design
5.2. Methodology
5.3. Database Design
6.0 Implementation
6.1. Implementation Platform / Environment
6.2. Process / Program / Technology / Modules Specification(s)
6.3. Finding / Results / Outcomes
6.4. Result Analysis / Comparison / Deliberations
7.0 Testing
7.1. Testing Plan / Strategy
7.2. Test Results and Analysis
7.2.1. Test Cases (test ID, test condition, expected output, actual output, remark)
8.0 Conclusion and Discussion
8.1. Overall Analysis of Internship / Project Viabilities
8.2. Problem Encountered and Possible Solutions
8.3. Summary of Internship / Project work
8.4. Limitation and Future Enhancement
Chapter 1

CHAPTER 1

OVERVIEW OF THE COMPANY

1.1 History

Teachnook burst onto the education technology scene in 2021 with a mission to revolutionize
learning through innovative online platforms and personalized teaching approaches.

Teachnook offers a comprehensive Full Stack Web Development course covering front-end and
back-end technologies, including HTML, CSS, JavaScript, React, Django, and more. This
holistic approach equips students with the skills demanded by industry employers.

1.2 Different Product / Scope Of Work

Teachnook provides a diverse range of product offerings and scope of work tailored to meet the
varied needs of its users. These include:
1. Online Learning Platforms
2. Course Development Services
3. Tutoring Services
4. Placements and Career Services

1.3 Organization Chart


Teachnook, a leading education technology company, operates under the guidance of its CEO,
directing strategic initiatives for innovative online learning solutions. Its organizational structure
fosters collaboration between departments, ensuring seamless development and delivery of
cutting-edge educational platforms.

1
Parul University PIET
Chapter 1

Figure 1.1 Organization Chart

1.4 Capacity Of Plant


51-200 employees

2
Parul University PIET
Chapter 2

CHAPTER 2

OVERVIEW OF ORGANIZATION

2.1 Work in Each Department


2.1.1 Development Department:
Frontend Development Intern: Assisting in the development of user interfaces for Teachnook's
online learning platforms using technologies such as HTML, CSS, and JavaScript.
Backend Development Intern: Contributing to the development of server-side logic, databases,
and APIs for Teachnook's platforms using frameworks like Django or Node.js.

2.1.2 Design Department:


UI/UX Design Intern: Collaborating with the design team to create user-centered designs for
Teachnook's platforms, including wireframes, mockups, and prototypes.
Graphic Design Intern: Supporting the creation of visual assets for marketing materials, course
content, and user interfaces.

2.1.3 Operations Department:


Website Maintenance Intern: Assisting in the ongoing maintenance and updates of
Teachnook's websites, including bug fixes, security patches, and performance optimization tasks.
Web Deployment Intern: Supporting the deployment process of new features or updates to
production servers, ensuring smooth transitions and minimal downtime.

2.2 Schematic Layout - Sequence of Online Operations.


2.2.1. HTML Structure:
- Define the overall structure of the web page using HTML elements such as `<header>`,
`<nav>`, `<main>`, `<footer>`, etc.
- Include semantic HTML tags to describe the content, such as `<article>`, `<section>`,
`<aside>`, etc.

2.2.2. CSS Styling:


- Apply CSS styles to elements to control layout, typography, colors, and visual appearance.
- Use CSS frameworks like Bootstrap or Materialize to streamline styling and achieve
responsive design.

3
Parul University PIET
Chapter 2

2.2.3. JavaScript Functionality:


- Implement client-side interactivity and dynamic behavior using JavaScript.
- Use various frameworks/libraries to build reusable components and manage state.

2.2.4. Component Composition:


- Compose the web page layout by nesting and arranging components according to the desired
structure.
- Pass data and event handlers between components using props and callbacks.

2.2.5. State Management:


- Utilize state management capabilities to handle dynamic data and UI updates.
- Use hooks/cookies to manage component state and side effects.

2.2.6. Event Handling:


- Implement event handlers to respond to user interactions, such as clicks, key presses, form
submissions, etc.
- Bind event handlers to appropriate elements.

2.2.7. Conditional Rendering:


- Conditionally render components or elements based on certain conditions or user inputs.
- Use JavaScript expressions or ternary operators to toggle visibility or content dynamically.

2.2.8. Data Fetching:


- Fetch data from external sources, such as APIs or databases, using fetch or axios libraries.
- Use useEffect hook to perform data fetching and update component state accordingly.

2.2.9. Component Lifecycle:


- In Laravel, you can employ backend functionalities to manage side effects and conduct
cleanup tasks, similar to React's component lifecycle methods.

2.3 Overview of Teachnook's Internship Program


2.3.1. Specialized Tracks: Interns have the opportunity to choose from specialized tracks
aligned with their interests and career goals. These tracks includes frontend development,
backend development, UI/UX design, content creation, marketing, operations, and more.

2.3.2. Hands-On Experience: Interns engage in real-world projects and tasks, gaining hands-on
experience in their chosen field. They work alongside experienced professionals, contributing to
ongoing initiatives and learning from mentorship and guidance.

4
Parul University PIET
Chapter 2

2.3.3. Learning Opportunities: The internship program provides a structured learning


environment where interns have access to resources, workshops, and training sessions to enhance
their skills and knowledge. They may participate in coding challenges, design critiques,
brainstorming sessions, and other learning activities.

2.3.4. Professional Development: Teachnook's internship program focuses not only on technical
skills but also on professional development. Interns learn essential soft skills such as
communication, teamwork, problem-solving, time management, and adaptability, which are
crucial for success in the workplace.

2.3.5. Networking and Collaboration: Interns have the chance to network with professionals
within Teachnook and the broader industry. They collaborate with cross-functional teams,
participate in team meetings, and engage in discussions, fostering connections and building
relationships.

2.3.6. Feedback and Evaluation: Throughout the internship program, interns receive feedback
and evaluations on their performance. This constructive feedback helps them identify strengths
and areas for improvement, enabling personal and professional growth.

2.4 Introduction to Teachnook's Offerings


2.4.1. Interactive Learning Environments: Teachnook provides engaging online platforms
with features like video lectures, quizzes, and real-time communication tools for immersive
learning experiences.

2.4.2. Diverse Course Selection: Students can choose from a wide range of courses spanning
various subjects and academic levels, ensuring flexibility and catering to diverse learning needs.

2.4.3. Cutting-Edge Technology Integration: Teachnook utilizes advanced technologies such


as artificial intelligence and machine learning to personalize learning paths and optimize
academic outcomes.

2.4.4. Expert-Led Instruction: Learners benefit from instruction delivered by experienced


educators and industry professionals, ensuring high-quality learning experiences.

2.4.5. Continuous Innovation: Teachnook prioritizes innovation, regularly updating its


offerings to align with evolving educational trends and meet the changing needs of learners.

5
Parul University PIET
Chapter 3

CHAPTER 3

INTRODUCTION TO PROJECT / INTERNSHIP AND PROJECT


/ INTERNSHIP MANAGEMENT

3.1 Project/Internship Summary

The project/internship at Teachnook offers a dynamic and enriching experience for participants,
encompassing various aspects aimed at fostering skill development and professional growth.

1. Practical Experience: Engage in real projects, applying theoretical knowledge.


2. Collaborative Environment: Work with teams, enhancing problem-solving skills.
3. Professional Development: Access workshops and training for career readiness.
4. Feedback Loop: Receive constructive feedback for continuous improvement.
5. Networking Opportunities: Connect with industry professionals for career growth.

3.2 Purpose

In Teachnook's web development, the purpose is to create engaging interfaces that enhance the
user experience. The focus is on scalability and performance, ensuring Teachnook's platforms
can handle growth and deliver optimal performance. Flexibility and customization are key,
allowing the platforms to adapt to changing user needs and technological advancements.
Integration with external systems is seamless, and accessibility standards are maintained for
inclusivity. Innovation drives continuous improvement, with a commitment to adopting
emerging technologies for enhanced functionality and efficiency.

3.3 Objective

3.3.1. Skill Development: Enhance proficiency in web development technologies such as


HTML, CSS, JavaScript through hands-on projects and mentorship.

3.3.2. Project Contribution: Contribute to the development of Teachnook's online platforms,


gaining practical experience in building scalable and user-centric web applications.

3.3.3. Problem-Solving: Develop problem-solving skills by tackling real-world challenges in


web development, fostering creativity and adaptability in addressing technical issues.

6
Parul University PIET
Chapter 3

3.3.4. Collaboration: Foster teamwork and collaboration by working with cross-functional


teams, learning to communicate effectively and contribute to project success.

3.3.5. Professional Growth: Gain insights into industry best practices and trends in web
development, and cultivate a mindset of continuous learning and improvement for career
advancement.

3.4 Scope
3.4.1. Frontend Development: Focus on building intuitive user interfaces and enhancing user
experience through HTML, CSS, JavaScript.

3.4.2. Backend Development: Explore server-side programming languages such as Python


Node.js or framework like Laravel, and databases like MySQL or MongoDB, to develop robust
backend systems.

3.4.3. UI/UX Design: Learn principles of user interface and user experience design to create
visually appealing and user-friendly interfaces.

3.4.4. Testing and Optimization: Gain expertise in testing methodologies and performance
optimization techniques to ensure the reliability and efficiency of Teachnook's web platforms.

3.4.5. Project Management: Understand project management principles and methodologies to


effectively plan, execute, and deliver web development projects on time and within budget.

3.5 Technology and Literature Review


3.5.1 Introduction
This section provides an overview of the technologies and literature relevant to the development
process, offering insight into the tools and methodologies employed in Teachnook's web
development projects.

3.5.2 Frontend Technologies


Frontend technologies encompass the tools and frameworks used to build the user interface of
Teachnook's web platforms. This includes HTML, CSS, JavaScript which are fundamental for
creating interactive and responsive user interfaces.

7
Parul University PIET
Chapter 3

3.5.3 Styling and Layout


Styling and layout techniques play a crucial role in enhancing the visual appeal and usability of
Teachnook's web applications. This section explores various styling methodologies such as CSS
frameworks like Bootstrap or Materialize, as well as layout techniques for structuring web
content effectively.

3.5.4 Backend Technologies


Backend technologies focus on the server-side logic and data management aspects of
Teachnook's web development projects. This includes programming languages like Python or
Node.js, as well as databases such as MySQL or MongoDB, which are essential for building
robust backend systems.

3.5.5 Performance Optimization Strategies


Performance optimization is vital for ensuring that Teachnook's web platforms deliver a
seamless user experience. This section examines strategies for optimizing website performance,
including code minification, image optimization, caching techniques, and server-side
optimizations.

3.5.6 Data Management


Effective data management is critical for handling and storing user data securely in Teachnook's
web applications. This section explores data management strategies, including database design,
data modeling, and implementation of CRUD (Create, Read, Update, Delete) operations for
managing application data effectively.

3.6 Project/Internship Planning


3.6.1 Approach and Justification: Define project/internship methods aligning with objectives
for clear direction and effective learning outcomes.

3.6.2 Time and Cost Estimation: Accurately estimate resources to ensure efficient planning,
keeping projects on track within set timelines and budgets.

3.6.3 Roles and Responsibilities: Clearly define team duties to promote accountability, enhance
teamwork, and facilitate effective collaboration in project execution.

3.6.4 Group Dependencies: Identify and manage inter-team connections to streamline project
execution, minimize bottlenecks, and ensure timely delivery of project milestones.

8
Parul University PIET
Chapter 3

3.7 Project/Internship Scheduling

Efficient scheduling of projects and internships is crucial for timely delivery and optimal
resource utilization. This section outlines the scheduling process, including the development of
Gantt charts, PERT analysis, or Network Charts. By establishing clear timelines and
dependencies, Teachnook ensures smooth project execution and effective utilization of
resources.

Fig : 3.1 MVC

Fig : 3.2 Dom Manipulation

9
Parul University PIET
Chapter 4

CHAPTER 4

SYSTEM ANALYSIS

4.1 Study of Current System:


In this phase, interns delve into the existing web development infrastructure used in Teachnook's
projects. They analyze the technologies, frameworks, and methodologies currently employed,
such as HTML, CSS, JavaScript, Django, and other backend tools. Interns examine the codebase,
architecture, and database structure to gain insights into the current system's functionalities,
strengths, and limitations.

4.2 Identifying Problems and Weaknesses of Current System:


Interns identify and document inefficiencies, bottlenecks, and deficiencies within the current web
development setup. They scrutinize factors such as performance issues, security vulnerabilities,
scalability challenges, and outdated technologies. By pinpointing these problems, interns lay the
groundwork for proposing solutions and improvements in the new system.

4.3 Requirements Gathering for New System:


Collaborating with stakeholders, interns gather requirements for the development of a new and
enhanced web development system. Through interviews, surveys, and workshops, interns elicit
needs, preferences, and pain points from end-users and project stakeholders. Requirements
encompass various aspects, including user interface design, functionality requirements, data
management, security considerations, and performance expectations.

4.4 System Feasibility:


Interns assess the technical, economic, and operational feasibility of implementing the proposed
changes and enhancements in the new web development system. They evaluate factors such as
the compatibility of selected technologies, the availability of resources, budget constraints, and
the alignment with Teachnook's strategic objectives. This feasibility analysis guides decision-
making and ensures the viability of the proposed system.

4.5 Activities and Processes in the New System:


Interns define the activities and processes that will be performed in the new web development
system to fulfill the identified requirements. This involves mapping out user workflows, data
flows, and system interactions. Interns outline the frontend user interface components, backend
data processing logic, and the communication protocols between the two layers to ensure
seamless operation and efficient functionality.

10
Parul University PIET
Chapter 4

4.6 Features of the New System:


Based on the gathered requirements, interns outline the features and functionalities of the new
web development system. These features address user needs, business objectives, and industry
standards. Features may include responsive design, interactive user interfaces, secure
authentication mechanisms, robust data management capabilities, and integration with external
systems or APIs.

4.7 Main Modules, Components, and Processes of the New System:


Interns identify and document the main modules, components, and processes that will comprise
the architecture of the new web development system. This includes frontend components such as
user interfaces, forms, and navigation elements, as well as backend components such as
databases, APIs, and business logic. Each module and component is defined with clear inputs,
outputs, and functionalities to ensure a structured and organized system architecture.

4.8 Selection of Hardware, Software, Algorithms, Methodology, and Justification:


Interns select appropriate hardware, software tools, algorithms, and development methodologies
for implementing the new web development system. These selections are based on technical
requirements, compatibility with existing infrastructure, scalability considerations, and industry
best practices. Interns justify their choices by demonstrating how they align with project goals,
enhance system performance, and meet stakeholders' needs.

11
Parul University PIET
Chapter 5

CHAPTER 5

SYSTEM DESIGN

5.1 System Design

Fig 5.1: E-Commerce Architecture

Fig 5.2: Data Flow

12
Parul University PIET
Chapter 5

Fig 5.3: Sequence Diagram

Here's some context for the system design of an e-commerce website built using the MERN
(MongoDB, Express.js, React.js, Node.js) stack:

5.1.1. Architecture Overview:


- The system follows a client-server architecture, where the client interacts with the server
through HTTP requests.
- The MERN stack is used, comprising MongoDB as the database, Express.js as the backend
framework, React.js as the frontend library, and Node.js as the runtime environment.

5.1.2. Database Design (MongoDB):


- MongoDB is chosen as the database due to its flexibility and scalability, allowing for the
storage of various types of data, including product information, user profiles, orders, and
reviews.
- The database schema is designed to support relationships between entities such as users,
products, categories, and orders.
- Collections are organized to optimize query performance and scalability, considering indexes,
sharding, and replication.

5.1.3. Backend Development (Express.js and Node.js):


- Express.js provides a robust framework for building RESTful APIs to handle HTTP requests
from the client.

13
Parul University PIET
Chapter 5

- Middleware functions are implemented for request processing, authentication, authorization,


error handling, and logging.
- Controllers handle business logic, interacting with the database to perform CRUD operations
on data entities.
- Authentication and authorization mechanisms, such as JWT (JSON Web Tokens), are
implemented to secure API endpoints and protect sensitive data.

5.1.4. Frontend Development (React.js):


- React.js is utilized for building a dynamic and interactive user interface, facilitating a smooth
shopping experience for users.
- Components are modularized and reusable, allowing for easy maintenance and scalability of
the frontend codebase.
- Client-side routing is implemented using libraries like React Router for navigation between
different pages and views within the application.
- State management is handled efficiently using React Context API or Redux, ensuring
consistent data flow and UI updates across components.

5.1.5. User Experience and Design:


- The user interface is designed to be intuitive, visually appealing, and responsive across
devices and screen sizes.
- Features such as product search, filtering, sorting, and pagination are implemented to enhance
usability and facilitate product discovery.
- Interactive elements like product images, descriptions, and reviews are incorporated to
provide users with comprehensive information about the products.

5.1.6. Payment Gateway Integration:


- Integration with a secure payment gateway (e.g., Stripe, PayPal) is implemented to enable
seamless and secure online transactions.
- Payment processing functionality, including card payments, digital wallets, and other
payment methods, is integrated into the checkout process.

5.1.7. Performance Optimization:


- Techniques such as code splitting, lazy loading, and caching are employed to optimize
frontend performance and reduce initial page load times.
- Backend optimizations include query optimization, caching frequently accessed data, and
implementing server-side caching strategies to improve API response times and scalability.

5.1.8. Scalability and Deployment:


- The system is designed to be scalable, allowing for horizontal scaling by adding more server
instances and vertical scaling by upgrading hardware resources.

14
Parul University PIET
Chapter 5

- Deployment strategies such as containerization (using Docker) and orchestration (using


Kubernetes) are considered for managing deployment environments effectively.
- Continuous integration and continuous deployment (CI/CD) pipelines are set up to automate
the build, test, and deployment processes, ensuring rapid and reliable releases.

By incorporating these elements into the system design, the e-commerce website built using the
MERN stack can deliver a seamless and engaging shopping experience for users while providing
scalability, security, and maintainability for the business.
5.2 Methodology

In recent years, there has been significant media coverage on the rapid growth of E-Commerce,
yet the concept remains unclear to many due to its novelty. This lack of clarity is particularly
challenging for business executives who struggle to find proven business models for generating
profits in this domain. Research into E-Commerce reveals several dominant trends:

1. Explosive growth in E-Commerce revenues.


2. E-Commerce is becoming increasingly crucial for business survival.
3. Complexity in making E-Commerce decisions.
4. Consulting firms are experiencing rapid declines in key practice areas.

These trends imply:

- Organizations recognize the need for expert advice in navigating the complexities of E-
Commerce.
- E-Commerce presents a new business opportunity for consulting firms.
- Consulting firms require structured, proven methodologies tailored specifically for E-
Commerce projects.

These trends and implications serve as the driving forces for this project.

Project Description:

To effectively assist clients in developing E-Commerce strategies, consulting firms must possess
a structured methodology customized for such projects. However, like any methodology, this E-
Commerce strategy framework requires continual refinement to adapt to new experiences and
industry changes.

Hence, this project aims to:

- Develop the initial version of an E-Commerce strategy methodology.

15
Parul University PIET
Chapter 5

- Implement this methodology for a client project.


- Iterate and refine the methodology based on insights gained during the client engagement.

Design Methodology:

The project will progress through five phases:

1. Scoping and Planning:


- Define the project's scope, objectives, and timelines.
- Develop a Design Plan outlining the project's direction.

2. Conceptual Design and Research:


- Develop the conceptual design of the E-Commerce strategy methodology.
- Conduct research on existing methodologies from reputable sources such as Gartner Group,
Forrester Research, and consulting firms' websites.

3. Development of Methodology:
- Document detailed descriptions of each task within the methodology, including objectives,
inputs, approach, relevant models, tools, outputs, and references.
- Format the methodology documentation appropriately, such as Word documents or HTML
pages.

4. Implementation of Methodology:
- Market E-Commerce strategy development services to potential clients.
- Finalize the sale and implement the methodology with a client project.

5. Revision of Methodology:
- Incorporate feedback and insights gained from the client project to refine the methodology.
- Add sample reports and additional references as needed.

By following this structured approach, the project aims to develop a robust and effective E-
Commerce strategy methodology tailored to the needs of consulting firms and their clients.

16
Parul University PIET
Chapter 5

5.3 Database Design

Fig 5.4: Class Diagram

1. Database Schema Overview:


o The image depicts a database schema diagram for an e-commerce platform.
o It outlines the structure and relationships between various data entities.
2. Tables and Attributes:
o There are six primary tables in the schema:
▪ Product: Contains information about products available for sale.
▪ Attributes include id, name, desc, SKU, category_id,
inventory_no, price, discount_id, created_at, and
modified_at.
▪ User: Represents registered users of the platform.
▪ Attributes include id, username, password, first_name,
last_name, address, telephone, created_at, and modified_at.
▪ Shopping_Session: Tracks user sessions during shopping.
▪ Attributes include id, user_id, total, created_at, and
modified_at.
▪ Cart_Item: Stores items added to the user’s shopping cart.
▪ Attributes include id, session_id, product_id, quantity,
created_at, and modified_at.
▪ Order_Items: Records individual items within an order.
▪ Attributes include id, order_id, product_id, quantity,
created_at, and modified_at.

17
Parul University PIET
Chapter 5

▪Order_Details: Captures order-related details.


▪ Attributes include id, user_id, total, payment_id, created_at,
and modified_at.
▪ Payment_Details: Stores payment information for orders.
▪ Attributes include id, order_id, amount, provider, status,
created_at, and modified_at.
3. Relationships:
o Foreign key associations connect the tables:
▪ For example:
▪ A “shopping_session” is associated with both “user” and
“cart_item”.
▪ “order_items” are linked to “product” to represent ordered items.
▪ “payment_details” reference an “order” for payment processing.
4. Primary Keys:
o Each table has a primary key (e.g., id)

18
Parul University PIET
Chapter 6

CHAPTER 6

IMPLEMENTATION

6.1. Implementation Platform / Environment:

The e-commerce website is implemented on the MERN stack, which stands for MongoDB,
Express.js, React.js, and Node.js. MongoDB is used as the database, Express.js is the backend
framework, React.js is utilized for the frontend, and Node.js serves as the runtime environment.

6.2. Process / Program / Technology / Modules Specification(s):

- Process: The development process follows agile methodologies with sprints for iterative
development and continuous integration and deployment (CI/CD) pipelines for efficient delivery.

- Programs and Technologies:

- MongoDB: Non-relational database for storing product information, user data, and transaction
details.

- Express.js: Provides a robust framework for building RESTful APIs to handle requests from
the frontend.

- React.js: Frontend library for creating interactive user interfaces, including product listings,
cart management, and checkout processes.

- Node.js: Backend runtime environment for executing JavaScript code and managing server-
side logic.

- Modules Specification(s):

- User Authentication: Implementing user registration, login, and logout functionalities using
JWT (JSON Web Tokens) for secure authentication.

- Product Management: Admin panel for adding, updating, and deleting products with features
like image upload, description, and pricing.

- Shopping Cart: Ability for users to add products to their cart, adjust quantities, and proceed to
checkout.

- Payment Gateway Integration: Integration with payment gateways like Stripe or PayPal for
secure online transactions.

19
Parul University PIET
Chapter 6

- Order Management: Tracking orders, order history, and order status updates for both users and
administrators.

- Search and Filtering: Implementing search functionality and filters to help users find products
efficiently.

6.3. Finding / Results / Outcomes:

- Finding: The e-commerce website successfully provides a user-friendly interface for browsing
products, adding them to the cart, and completing purchases.

- Results: Increased user engagement and improved sales conversion rates due to a seamless
shopping experience.

- Outcomes: Positive feedback from users regarding the website's performance, responsiveness,
and ease of use, leading to improved customer satisfaction and retention.

6.4. Result Analysis / Comparison / Deliberations:

- Result Analysis: Analyzing metrics such as website traffic, conversion rates, average order
value, and user feedback to assess the effectiveness of the e-commerce platform.

- Comparison: Comparing the performance of the MERN stack-based e-commerce website with
competitors' platforms in terms of speed, features, and user experience.

- Deliberations: Identifying areas for further improvement, such as optimizing website


performance, enhancing product recommendations, or expanding payment options, based on the
analysis and feedback received.

20
Parul University PIET
Chapter 7

CHAPTER 7

TESTING
7.1. Testing Plan / Strategy:

The testing plan for the e-commerce website involves a comprehensive approach to ensure the
functionality, usability, performance, and security of the platform. The strategy includes:

Unit Testing: Testing individual components, functions, and modules of the backend and
frontend using frameworks like Jest, Mocha, or Enzyme.

Integration Testing: Verifying the interactions between different modules, APIs, and databases
to ensure seamless communication.

UI/UX Testing: Assessing the user interface and user experience across various devices and
browsers to ensure consistency and responsiveness.

Functional Testing: Validating the core functionalities of the website such as user registration,
product browsing, cart management, and checkout process.

Performance Testing: Evaluating the website's performance under different load conditions to
ensure scalability and responsiveness.

Security Testing: Identifying and addressing potential vulnerabilities such as cross-site scripting
(XSS), SQL injection, and data breaches to protect user data and transactions.

21
Parul University PIET
Chapter 7

7.2. Test Results and Analysis:

7.2.1. Test Cases:

Test ID Test Condition Expected Output Actual Output Remark


Successful Registration
registration, user successful, user
TC-001 User registration account created account created Pass
Relevant products Relevant products
displayed based on displayed based on
TC-002 Product search search query search query Pass
Product Product added to
successfully added the cart with
TC-003 Add to Cart to the cart correct quantity Pass
Quantity updated
Quantity updated in the cart with
TC-004 Cart Update in the cart correct subtotal Pass
User able to
proceed through User successfully
the checkout completes the
TC-005 Checkout Process process checkout process Pass
Payment Payment processed Payment processed
TC-006 Processing successfully successfully Pass
Order User receives order Order confirmation
TC-007 Confirmation confirmation email email received Pass
Admin able to Admin
Admin Product add/update/delete successfully
TC-008 Management products manages products Pass

22
Parul University PIET
Chapter 8

CHAPTER 8

CONCLUSION AND DISCUSSION

8.1 Overall Analysis of Internship / Project Viabilities

During my internship, I successfully completed a project focused on developing an e-commerce


website using the MERN (MongoDB, Express.js, React.js, Node.js) technology stack. The
project aimed to create a comprehensive online platform for buying and selling products,
catering to the needs of modern consumers.

The e-commerce website incorporated various features essential for an efficient online shopping
experience. This included user authentication functionalities for secure account creation and
login, product management capabilities allowing administrators to add, update, and delete
products, as well as a robust shopping cart system enabling users to add items, adjust quantities,
and proceed through the checkout process seamlessly.

Furthermore, the project integrated essential components such as search and filtering options to
facilitate product discovery, along with payment gateway integration to ensure secure and
convenient transactions for users. Additionally, the website was designed with responsive and
user-friendly interfaces built with React.js, providing a smooth experience across different
devices and screen sizes.

Throughout the project, I gained valuable experience in implementing various MERN


technologies, understanding their functionalities, and integrating them to develop a fully
functional e-commerce platform. This project not only enhanced my technical skills but also
provided insights into the intricacies of web development, user experience design, and project
management in the context of e-commerce. Overall, it was a rewarding experience that
contributed significantly to my growth as a developer and prepared me for future endeavors in
the field of software development.

8.2. Problem Encountered and Possible Solutions

Problem:

1. Performance Issues: During the development phase, we encountered performance issues with
the website, especially when handling a large number of concurrent users or heavy database
queries.

23
Parul University PIET
Chapter 8

Possible Solutions :
- Implement caching mechanisms: Utilize caching techniques to store frequently accessed
data and reduce the load on the database.
- Optimize database queries: Analyze and optimize database queries to improve efficiency
and reduce response times.
- Scale resources: Deploy the application on scalable infrastructure to handle increased traffic
and load.

Problem:
2. Security Vulnerabilities: Identifying and mitigating security vulnerabilities, such as cross-
site scripting (XSS), SQL injection, and data breaches, posed a challenge during the development
phase.

Possible Solutions:
- Implement input validation: Validate user inputs to prevent injection attacks and ensure
data integrity.
- Use secure authentication mechanisms: Implement secure authentication methods such as
JWT (JSON Web Tokens) to prevent unauthorized access.
- Regular security audits: Conduct regular security audits and vulnerability assessments to
identify and address potential vulnerabilities proactively.

Problem:
3. Third-party Integration Challenges : Integrating third-party services, such as payment
gateways and APIs, presented challenges due to compatibility issues or inadequate
documentation.

Possible Solutions :
- Thorough research: Conduct in-depth research on the documentation and guidelines
provided by the third-party services to understand integration requirements.
- Test environments: Utilize test environments provided by third-party services to test
integration before deploying to production.
- Collaboration: Seek assistance from the support teams of third-party services to resolve any
integration issues encountered.

Problem:
4. Cross-browser Compatibility: Ensuring cross-browser compatibility and consistent user
experience across different web browsers posed challenges due to varying rendering behaviors
and CSS inconsistencies.

Possible Solutions:
- Browser testing: Conduct comprehensive testing across multiple web browsers (e.g.,
Chrome, Firefox, Safari, Edge) to identify and address compatibility issues.
- Use of CSS frameworks: Utilize CSS frameworks like Bootstrap or Material-UI to ensure
consistent styling and layout across different browsers.

24
Parul University PIET
Chapter 8

- Polyfills and fallbacks: Implement polyfills and fallback mechanisms to provide support for
features not supported by certain browsers.

Problem:
5. Scalability Concerns : Planning for future scalability and accommodating potential growth in
traffic and user base presented challenges during the initial stages of development.

Possible Solutions:
- Adopt microservices architecture: Break down the application into smaller, independent
services to facilitate easier scaling and maintenance.
- Load testing: Perform load testing to assess the application's performance under various
levels of traffic and identify scalability bottlenecks.
- Cloud deployment: Utilize cloud-based infrastructure providers like AWS or Azure, which
offer scalability features such as auto-scaling and load balancing.

8.3 Summary of Internship / Project work


During my internship, I engaged in the development of an e-commerce website utilizing the
MERN (MongoDB, Express.js, React.js, Node.js) stack. The project aimed to create a
comprehensive online platform for buying and selling products, incorporating essential features
such as user authentication, product management, shopping cart functionality, and secure
payment processing. Throughout the internship, I gained valuable experience in web
development, frontend and backend technologies, and project management methodologies.

Key Accomplishments:

- Successfully implemented user authentication functionalities using JWT for secure account
creation and login.
- Developed a user-friendly frontend interface with React.js, ensuring responsiveness across
various devices.
- Integrated MongoDB for efficient data storage and retrieval, enabling seamless product
management and order tracking.
- Implemented essential features such as product search, filtering, and sorting to enhance user
experience.
- Integrated third-party payment gateways for secure and convenient transaction processing.
- Collaborated with team members to address challenges and deliver a high-quality e-commerce
solution within the specified timeframe.

Problems Encountered:
1.Performance Issues: The website faced performance issues, especially during peak traffic
periods or heavy database operations. This necessitated optimization techniques such as caching
mechanisms and database query optimization.

25
Parul University PIET
Chapter 8

2. Security Vulnerabilities: Identifying and mitigating security vulnerabilities, including XSS


and SQL injection, posed challenges during development. This required thorough input
validation and regular security audits.

3. Third-party Integration Challenges: Integrating third-party services such as payment


gateways presented challenges due to compatibility issues and inadequate documentation.
Collaboration with support teams and thorough research were necessary to resolve integration
issues.

4. Cross-browser Compatibility: Ensuring cross-browser compatibility and consistent user


experience across different web browsers was challenging due to varying rendering behaviors.
This necessitated comprehensive browser testing and the use of CSS frameworks.

5. Scalability Concerns: Planning for future scalability and accommodating potential growth in
traffic and user base presented challenges. Strategies such as adopting microservices architecture
and cloud deployment were considered to address scalability concerns.

Despite these challenges, proactive problem-solving, collaboration with team members, and
perseverance enabled successful project completion and valuable learning experiences during the
internship.

8.4 Limitation and Future Enhancement


Limitations:
1.Scalability Challenges: The e-commerce website may face scalability challenges as the user
base and traffic grow. The current architecture might not efficiently handle increased load,
leading to performance degradation and potential downtime.

2.Limited Payment Options: Integrating only a few payment gateways limits payment options
for users. This may result in some users being unable to make purchases if their preferred
payment method is not supported.

3.Security Vulnerabilities: Despite efforts to address security vulnerabilities, the website may
still be susceptible to emerging threats or zero-day vulnerabilities. Continuous monitoring and
updates are essential to mitigate security risks.

4.Cross-browser Compatibility: Achieving full cross-browser compatibility may be


challenging due to the diversity of web browsers and their rendering behaviors. Some minor
inconsistencies in layout or styling may persist across different browsers.

Future Enhancements:
1.Scalability Improvements: Implementing a microservices architecture or utilizing cloud-
based infrastructure can enhance scalability and accommodate increased traffic and user growth
more efficiently.

26
Parul University PIET
Chapter 8

2.Expanded Payment Options: Integrating additional payment gateways and alternative


payment methods, such as digital wallets or cryptocurrency payments, can provide users with
more flexibility and choice during checkout.

3.Enhanced Security Measures: Implementing additional security measures such as Web


Application Firewall (WAF), regular security audits, and penetration testing can further
strengthen the website's defenses against cyber threats.

4.Improved User Experience: Continuously optimizing the user interface, streamlining the
checkout process, and implementing features such as personalized recommendations and social
login can enhance the overall user experience and increase customer satisfaction.

5. Analytics and Insights: Integrating analytics tools to track user behavior, monitor website
performance, and gain insights into customer preferences can inform data-driven decision-
making and facilitate targeted marketing strategies.

Problems Encountered:
1. Performance Issues: The website encountered performance issues, particularly during peak
traffic or database-intensive operations. This required optimization techniques such as caching
and database query optimization to improve responsiveness.

2.Third-party Integration Challenges: Integrating third-party services like payment gateways


presented challenges due to compatibility issues and inadequate documentation. Collaboration
with support teams and thorough research were required to resolve integration issues.

3.Cross-browser Compatibility: Ensuring consistent user experience across different web


browsers was challenging due to varying rendering behaviors. Comprehensive browser testing
and the use of CSS frameworks were necessary to address cross-browser compatibility issues.

27
Parul University PIET

You might also like