First Synopsis Full Stack (Sample)
First Synopsis Full Stack (Sample)
First Synopsis Full Stack (Sample)
On
Online Shopping
1
TABLE OF CONTENTS
2
ORGANIZATION PROFILE
The Institute where we are pursuing our six months Industrial Training is VMM (Veenus
Mind Media), at Amritsar.
DETAILS OF VMM
VMM Education’s journey started in January 2005 with a vision of bringing computer
education of global standard in the holy city of Amritsar. To turn this dream into reality we
needed to create a talent pool of bright young minds who would power the engines of growth
of the global economy, today seven years later VMM Education or VMM, as it is popularly
known as, is the largest and the most trusted computer center of the region, with annual turn
out of more than 1000 students each year. The reason for the success of VMM is simply the
“Hard work” that our team has put in these seven years.
In this past 7 years, VMM Education has provided world class training in global technologies
such as Java, .Net, Oracle and Linux, while keeping our syllabus up to date with the current
industry standard. We have managed to successfully train more than 7000 engineers who are
currently working in Global Multinationals like TCS, Tech Mahindra, Infosys, and CSC etc.
VMM is today the favorite choice of students of various engineering college for pursuing
their six months or six weeks industrial training. A unique “industry-endorsed curriculum,”
crafted by professionals of VMM enhances the job-readiness and employability of learners
and equips them for the IT Industry.
To provide IT education which can match with the global IT standards, VMM also undertake
industrial projects under the banner of Veenus Software Solutions (VSS as the Veenus
Software solution is popularly known as undertake projects from UK & USA example
im4schools.co.uk) this also allows our students to work on the live projects and make
projects for the various industries. Some of our products include Point of sale software for
Super Markets with barcode reader support, Finger print attendance Management System
that can work for school’s colleges and other institutes, Remote Lan Controller which can be
used to view remote desktops on LAN or WAN.VMM has the world class computer labs that
are equipped with the latest Hardware and software so that the practicals of the students must
always remain for that and we continuously upgrade our hardware and software every 6
months.
3
Attendance of students is one of the major features of VMM, students are required to record
their day-to-day attendance using Biometric Finger print recognition device this allows us to
provide accurate attendance of students to their parents and college during their training time.
Foundation course
This course includes two languages C and C++ that allows us to build a strong foundation of
programming for the beginner and First year & Second year engineering graduates
Veenus Mind Media or VMM is a Software Solutions Provider. The company specializes in
providing industry focused solutions and customized development. The development work
4
ranges from management-oriented solutions utilizing the latest of databases, design and
programming tools to web development designing and Network resources.
The Group
Veenus Mind Media is a software arm of Hotel Veenus International (Amritsar), it is one of
the fastest growing software solution providers extending its arms in diversified activities
such as School & College Network AMC’s, Wi-Fi Internet Management solutions in
school/colleges/shopping malls & Hotels, customized software development, Web-Site
Development & Web Marketing (SEO) The total Turnover of entire group is more than 5
million (INR)
Sister concerns:
VMM commenced its operations in the year 2004 as 100% software consultants. VMM was
started from one home computer and today VMM has got infrastructure of more than one million
(INR). VMM operates it two wings one is of the software consultancy services and other is
VMM Education i.e., the Education wing which deals with providing the world class computer
education to its students.
5
INTRODUCTION
The main objective of the Project on Online Grocery Store is to manage the details of Grocery,
Customer, Order, Product. It manages all the information about Grocery, Address. The project is
totally built at administrative end and thus only the administrator is guaranteed the access. The
purpose of the project is to built an application program to reduce the manual work for managing
the Grocery, Customer, Address, Order. It tracks all the details about the Order, Product.
Provides the searching facilities based on various factors. Such as Grocery, Order,
Product.
Online Grocery System also manage the Address details of Customers.
Manage the all information of customer.
Shows the information and description of Products.
To increase efficiency of managing the Grocery, Customer.
Editing, adding and updating of Records is improved which results in proper resource
management of Grocery Data.
Integration of all records of Product.
6
FEATURES OF THE PROJECT
ADMIN:
1. Admin Login
2. Manage Categories (Add, View, Edit, Delete):
Admin Can Manage the Category by adding new Category, edit category,
view category and by Deleting it.
3. Manage Sub-Categories (Add, View, Edit, Delete):
Admin Can Manage the Sub-Category by adding new sub-Category, Edit
Sub-category, view Sub-category and by Deleting it.
4. Manage Products (Add, View, Edit, Delete)
5. Manage Product gallery
6. View Order Details (Confirmation Email)
i. Order Received
ii. Order Packed
iii. Order Shipped
7. Change/Recover Password
7
USER:
1. Signup
2. Login
3. Search (Product, Category)
4. View All Product
5. Manage Cart
6. Buy Product using By Online Payment or COD
7. View Your Orders
8. Change / Recover Password
8
SDLC
SDLC is the acronym of Software Development Life Cycle. SDLC is a framework defining
tasks performed at each step in the software development process.
SDLC is a process followed for a software project, within a software organization. It consists of
a detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the
overall development process.
The following figure is a graphical representation of the various stages of a typical SDLC.
9
Planning and Requirement Analysis - Requirement analysis is the most important and
fundamental stage in SDLC. It is performed by the senior members of the team with
inputs from the customer, the sales department, market surveys and domain experts in
the industry
Defining Requirements - Once the requirement analysis is done the next step is to
clearly define and document the product requirements and get them approved from the
customer or the market analysts.
Designing the Product Architecture - SRS is the reference for product architects to
come out with the best architecture for the product to be developed.
Product Architecture
Full stack web developer uses a combination of HTML, CSS, and JavaScript to build
everything a user sees and interacts with on a website. At the back-end, they develop the
application, server, and database that make up the foundational structure of a website. Their
skills are often centred around solution stacks like Apache, MySQL, Express.js, ReactJS,
Node.js which contain all the technologies required to set up a complete website.
Full stack is based on the 3Tier Web Architecture. This is the unique system of developing
web database applications which work around the 3 tier model, comprising of the database
tier at the bottom, the application tier in the middle and the client tier at the top. This
comprehensive 3 tier architecture module is the framework for most Web Applications on
the Internet. This system helps to separate the Business Logic from the Application, Data
Storage, and database.
10
Advantages:
Building or Developing the Product - In this stage of SDLC the actual development
starts and the product is built. The programming code is generated as per DDS during
this stage. If the design is performed in a detailed and organized manner, code generation
can be accomplished without much hassle.
Testing the Product - This stage is usually a subset of all the stages as in the modern
SDLC models, the testing activities are mostly involved in all the stages of SDLC.
Deployment in the Market and Maintenance - Once the product is tested and ready to
be deployed it is released formally in the appropriate market.
SDLC Models
There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as Software
Development Process Models".
Iterative Model
An iterative lifecycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which can
then be reviewed in order to identify further requirements. This process is then repeated,
producing a new version of the software for each cycle of the model. Consider an iterative
lifecycle model which consists of repeating the following four phases in sequence:
11
Fig. Iterative Model
1. A Requirements phase, in which the requirements for the software are gathered and
analysed. Iteration should eventually result in a requirements phase that produces a complete
and final specification of requirements.
2. A Design phase, in which a software solution to meet the requirements is designed. This may
be a new design, or an extension of an earlier design.
3. An Implementation and Test phase, when the software is coded, integrated and tested.
4. A Review phase, in which the software is evaluated, the current requirements are reviewed,
and changes and additions to requirements proposed.
5. For each cycle of the model, a decision has to be made as to whether the software produced
by the cycle will be discarded, or kept as a starting point for the next cycle (sometimes
referred to as incremental prototyping). Eventually a point will be reached where the
requirements are complete and the software can be delivered, or it becomes impossible to
enhance the software as required, and a fresh start has to be made.
12
approximation to arrive at a final solution, the benefit of such methods depends on how
rapidly they converge on a solution.
13
EXISTING SYSTEM
The old manual system was suffering from a series of drawbacks. Since whole of the system was
to be maintained with hands the process of keeping, maintain and retrieving the information was
very tedious and lengthy. The records were never used to be in systematic order. If any
information was to be found it was required to go through the different registers, documents
there were would never exists anything like report generation. There would be always be
unnecessary consumption of time while entering records and retrieving records. One more
problem was that it was very difficult to find errors while entering the records. Once the records
were entered it was very difficult to update these records.
PROPESED SYSTEM
14
BENEFITS
Shop From Home or On the Go - With online grocery shopping, you have the
flexibility to order at any time of the day. Whether it’s the early morning or midnight,
you can browse the aisles when it’s convenient for you.
Save Money with Price Comparison - When you buy groceries online at a website or
using an app, you can easily compare different brands’ prices.
Save Time and Be More Productive - According to Statista, the average person goes to
the grocery store 1.6 times a week and spends 43 minutes shopping at the store. There’s
also the additional time it takes to drive to the store and back home.
You can save this time with online grocery shopping and getting home delivery.
Keep Track of Your Shopping Cart - When you shop for groceries online, you see how
much is in your cart at any given time. It gives you control of your budget, and you can
easily remove items if you’re overspending.
16
FRONTEND
i. HTML
ii. CSS
iii. Bootstrap
iv. JavaScript
v. React JS
BACK END
i. Node JS
ii. MySQL
FRONTEND
17
I. HTML
The Hypertext Markup Language, or HTML is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as
Cascading Style Sheets and scripting languages such as JavaScript.
• HTML tags label pieces of content such as "heading", "paragraph", "table", and soon
• Browsers do not display the HTML tags, but use them to render the content of the
page
HTML Tags:
18
• The first tag in a pair is the start tag, the second tag is the end tag.
• The end tag is written like the start tag, but with a forward slash inserted before the
tag name.
II. CSS
Stands for "Cascading Style Sheet." Cascading style sheets are used to format the layout of
Web pages. They can be used to define text styles, table sizes, and other aspects of Web
pages that previously could only be defined in a page's HTML.CSS helps Web developers
create a uniform look across several pages of a Web site. Instead of defining the style of each
table and each block of text within a page's HTML, commonly used styles need to be defined
only once in a CSS document. Once the style is defined in cascading style sheet, it can be
used by any page that references the CSS file. Plus, CSS makes it easy to change styles
across several pages at once. For example, a Web developer may want to increase the default
text size from 10pt to 12pt for fifty pages of a Web site. If the pages all reference the same
style sheet, the text size only needs to be changed on the style sheet and all the pages will
show the larger text.
While CSS is great for creating text styles, it is helpful for formatting other aspects of Web
page layout as well. For example, CSS can be used to define the cell padding of table cells,
19
the style, thickness, and color of a table's border, and the padding around images or other
objects. CSS gives Web developers more exact control over how Web pages will look than
HTML does. This is why most Web pages today incorporate cascading style sheets.
III. BOOTSTRAP
Bootstrap is a free and open-source frontend development framework for the creation of
websites and web apps. The Bootstrap framework is built on HTML, CSS, and JavaScript
(JS) to facilitate the development of responsive, mobile-first sites and apps. Responsive
design makes it possible for a web page or app to detect the visitor’s screen size and
orientation and automatically adapt the display accordingly; the mobile first approach
assumes that smartphones, tablets and task-specific mobile apps are employees 'primary tools
for getting work done and addresses the requirements of those technologies in design.
Bootstrap includes user interface components, layouts and JS tools a long with the frame
work for implementation. The software is available precompiled or as source code.
Mark Otto and Jacob Thornton developed Bootstrap at Twitter as a means of improving the
consistency of tools used on the site and reducing maintenance. The software was formerly
known as Twitter Blueprint and is sometimes referred to as Twitter Bootstrap.
In computers, the word bootstrap means to boot: to load a program into a computer using a
much smaller initial program to load in the desired program (which is usually an operating
system). In the physical world, a bootstrap is a small strap or loop at the back of a leather
boot that enables you to pull the entire boot on and in general usage, bootstrap in the
leveraging of a small initial effort into something larger and more significant. There is also a
common expression, "pulling yourself up by your own bootstraps," meaning to leverage
yourself to success from a small beginning.
20
IV. JAVASCRIPT
Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the
browser. It means that a web page need not be a static HTML, but can include programs that
interact with the user, control the browser, and dynamically create HTML content. The
JavaScript client-side mechanism provides many advantages over traditional CGI server-side
scripts. For example, you might use JavaScript to check if the user has entered valid-mail
address in a form field. The JavaScript code is executed when the user submits the form, and
only if all the entries are valid, they would be submitted to the Webserver.
21
Advantages of JavaScript:
• Less server interaction − You can validate user input before sending the page off to
the server. This saves server traffic, which means less load on your server.
• Immediate feedback to the visitors − They don't have to wait for a page reload to
see if they have forgotten to enter something.
• Increased interactivity − You can create interfaces that react when the user hovers
over them with a mouse or activates them via the keyboard.
• Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.
22
V. REACT JS
Declarative:
React adheres to the declarative programming paradigm. Developers design views for each state
of an application, and react updates and renders components when data changes.
Component:
React code is made of entities called components. Components can be rendered to a particular
element in the DOM using the React DOM library. When rendering a component, one can pass
in values that are known as "props".
The two primary ways of declaring components in React is via function components and class-
based components.
a) Function Component
Function components are declared with a function that then returns some JSX.
b) Class-based Component
Class-based components are declared using ES6 classes.
JSX:
23
JSX, or JavaScript XML, is an extension to the JavaScript language syntax. Similar in
appearance to HTML, JSX provides a way to structure component rendering using syntax
familiar to many developers. React components are typically written using JSX, although they
do not have to be (components may also be written in pure JavaScript).
History of React:
React was created by Jordan Walke, a software engineer at Facebook, who released an early
prototype of React called "FaxJS". He was influenced by XHP, an HTML component library
for PHP. It was first deployed on Facebook's News Feed in 2011 and later on Instagram in
2012. It was open-sourced at JSConf US in May 2013.
On February 16, 2019, React 16.8 was released to the public. The release introduced React
Hooks.
On August 10, 2020, the React team announced the first release candidate for React v17.0,
notable as the first major release without major changes to the React developer-facing API.
24
BACK END
I. NODE JS
Though is .js the standard file name extension for JavaScript code, the name "Node.js" doesn't
refer to a particular file in this context and is merely the name of the product. Node.js has an
event-driven architecture capable of asynchronous I/O. These design choices aim to optimize
throughput and scalability in web applications with many input/output operations, as well as
for real-time Web applications (e.g., real-time communication programs and browser games).
The Node.js distributed development project was previously governed by the Node.js
Foundation, and has now merged with the JS Foundation to form the Open JS Foundation,
which is facilitated by the Linux Foundation's
II. MySQL
25
MySQL is an open-source relational database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the
abbreviation for Structured Query Language.
The MySQL development project has made its source code available under the terms of the
GNU General Public License, as well as under a variety of proprietary agreements. MySQL
was owned and sponsored by a single for profit firm, the Swedish company MySQL AB,
now owned by Oracle Corporation.
MySQL is a central component of the LAMP open-source web application software stack
(and other "AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python". Applications that use the MySQL database include: TYPO3, MODx,
Joomla, WordPress, phpBB, MyBB, and Drupal. MySQL is also used in many high-profile,
large-scale websites, including Google (though not for searches), Facebook,
Twitter, Flickr, and YouTube.
History:
MySQL was created by a Swedish company, MySQL AB, founded by David Axmark, Allan
Larsson and Michael "Monty" Widenius. Original development of MySQL by Widenius and
Axmark began in 1994. The first version of MySQL appeared on 23 May 1995. It was
initially created for personal usage from MySQL based on the low-level language ISAM,
which the creators considered too slow and inflexible. They created a new SQL interface,
while keeping the same API as MySQL. By keeping the API consistent with the MySQL
system, many developers were able to use MySQL instead of the (proprietarily licensed)
MySQL antecedent.
26
Features:
MySQL is offered under two different editions: the open source MySQL Community Server
and the proprietary Enterprise Server. MySQL Enterprise Server is differentiated by a series
of proprietary extensions which install as server plugins, but otherwise shares the version
numbering system and is built from the same code base.
Major features as available in MySQL 5.6:
• Cross-platform support
• Triggers
• Cursors
• Updatable views
• Information schema
• Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.
Deployment:
27
MySQL can be built and installed manually from source code, but it is more commonly
installed from a binary package unless special customizations are required. On most Linux
distributions, the package management system can download and install MySQL with
minimal effort, though further configuration is often required to adjust security and
optimization settings.
Fig 8. MySQL
29
After doing the project Online Grocery Store, study and analysing all the existing or required
functionalities of the system, the next task is to do the feasibility study for the project.
A feasibility study is a preliminary study which investigates the information needs of prospective
users and determines the resource requirements, determining the cost effectiveness of various
alternatives in the designs of the information system, benefits and feasibility of proposed project.
The goal of the feasibility study is to evaluate alternative systems to propose the most feasible
and desirable systems for development.
A. Operational Feasibility
The operational feasibility is responsible for the operations of management, faculty
members, and students involved in a project. Our project is operationally feasible because
the modules we have considered such as Manual Downloading, Auto Downloading and
Manual Uploading provides a combined platform by using which the related tasks can be
handled in a easy manner. Though it doesn’t include the process of auto uploading but it
is operational to full extent.
B. Technical Feasibility
Technical feasibility can be demonstrated if reliable hardware and software capable of
meeting needs of proposed system can be developed or acquired by the business in
required time. Our project is technically feasible because the required hardware and
software needed for our project are made available to us by our lab technician.
C. Economic Feasibility
This is a very important aspect to be considered while developing a project. We decided
the technology based on minimum possible cost factor.
All hardware and software cost has to be borne by the organization (pharmacy).
Overall, we have estimated that the benefits the organization is going to receive
from the proposed system will surely overcome the initial costs and the later on
running cost for system.
30
DATA FLOW DIAGRAM
31
32
33
ER DIAGRAM
34
DATA SCHEMA
Admin
Category
Sub-Category
Products
35
Users
Bill
36
Bill Details
37
SCREENSHOTS
Index/Home Page
38
About Us
39
Contact Us
40
Product Page
41
Shopping Cart
42
User Signup
43
User Login
44
Search Page
45
Admin Login
Admin Dashboard
46
Add Category
Manage Category
47
Delete Category Confirmation
Add Sub-Category
48
Manage Sub-Category
49
Add Product
50
Manage Products
51
Manage Orders
New Orders
52
Shipped Orders
53
Delivered Orders
54
Cancelled Orders
55
Admin Logout Confirmation
User Signup
56
User Login
57
User Dashboard
59
Online Payment Gateway
60
Order Placed after Payment Complete
61
TESTING
62
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test, with respect to the context in
which it is intended to operate. Software Testing also provides an objective, independent view of
the software to allow the business to appreciate and understand the risks at implementation of the
software. Test techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs. It can also be stated as the process of
validating and verifying that a software program/application/product meets the business and
technical requirements that guided its design and development, so that it works as expected and
can be implemented with the same characteristics. Software Testing, depending on the testing
method employed, can be implemented at any time in the development process, however the
most test effort is employed after the requirements have been defined and coding process has
been completed.
Unit Testing:
The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly
as you expect. Each unit is tested separately before integrating them into modules to test the
interfaces between modules. Unit testing has proven its value in that a large percentage of
defects are identified during its use. Unit testing is a software verification and validation method
where the programmer gains confidence that individual units of source code are fit for use. A
unit is the smallest testable part of an application. In procedural programming a unit may be an
individual program, function, procedure, etc., while in object-oriented programming, the smallest
unit is a class, which may belong to a base/super class, abstract class or derived/child class.
Ideally, each test case is independent from the others: substitutes like method stubs, mock
objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit tests are
typically written and run by software developers to ensure that code meets its design and behaves
as intended. Its implementation can vary from being very manual (pencil and paper) to being
formalized as part of build automation.
Integration Testing:
Integration testing, also known as integration and testing (I&T), is a software development
process which program units are combined and tested as groups in multiple ways. In this context,
a unit is defined as the smallest testable part of an application. Integration testing can expose
problems with the interfaces among program components before trouble occurs in real-world
program execution. Integration testing is a component of Extreme Programming (XP), a
pragmatic method of software development that takes a meticulous approach to building a
product by means of continual testing and revision.
63
There are two major ways of carrying out an integration test, called the bottom-up method and
the top-down method. Bottom-up integration testing begins with unit testing, followed by tests of
progressively higher-level combinations of units called modules or builds. In top-down
integration testing, the highest-level modules are tested first and progressively lower-level
modules are tested after that. In a comprehensive software development environment, bottom-up
testing is usually done first, followed by top-down testing.
Validation Testing:
At the validation level, testing focuses on user visible actions and user recognizable output from
the system. Validations testing is said to be successful when software functions in a manner that
can be reasonably expected by the customer.
CONCLUSION
This is to conclude that the project that I undertook was worked upon with a sincere effort. Most
of the requirements have been fulfilled up to the mark and the requirements which have been
remaining, can be completed with a short extension.
We have successfully implemented the site on ‘Grocerino Online Grocery Store. With the help
of various links and tools, we have been able to provide a site which is live and running on the
web. We have been successful in our attempt to take care of the needs of both the customers as
well as the administrator.
BIBLIOGRAPHY
64
To bring the system to verge of completion the following books have been
referred:
Head First HTML and CSS Elisabeth Robson and Eric Freeman
i. https://www.w3schools.com
ii. https://www.tutorialspoint.com/
65