Project Report Working
Project Report Working
On
WEDDING PLANNING SYSTEM WEBSITE
UNDERTAKEN AT
Submitted To
ABDUL KALAM TECHNICAL UNIVERSITY, LUCKNOW
In the partial fulfilment of Four-year Degree
Of
SUBMITTED BY
Rishika Jain (Roll No: 2201930100078)
Internal Guide
Dr. Pooja Sharma
H.O.D (B.Tech CSE Dept)
I hereby certify that the work which is being presented in this project entitled “Wedding
Planner Website” in fulfilment of the requirement for the award of the degree of
Bachelor of Technology in Computer Science and Engineering, submitted to “Abdul
Kalam Technical University, Lucknow”, is an authentic record of my work carried out
during my Project training, under the supervision and guidance of Dr. Pooja Sharma
(Project Guide).
To the best of my knowledge no part of the above said project has been submitted earlier
for the award of any degree at any institution/organisation.
RISHIKA JAIN
Roll No. 2201930100078
B.Tech CSE, sem. V
(AKTU, Lucknow)
ACKNOWLEDGEMENT
Success in any endeavour calls for cooperation and guidance from seniors and colleagues.
This was amply brought out to me while working with this project.
I take this opportunity to express my sincere thanks and deep gratitude to all those people
who extended their whole hearted co-operation and have helped me in completing this project
successfully
At the very outset I feel a sense of pleasure in expressing my profound and deep sense of
gratitude to my revered teacher and Mentor Dr. Pooja Sharma Employee of United College
of Engineering and Research as H.O.D of B.Tech CSE Department, for her constructive &
learning suggestions and guidance. I am highly obliged to her for her inspiring suggestions
and timely guidance which enabled me to perceive the various aspects of the project. I would
also like to thank her for giving us fruitful opportunity to expose our knowledge to tackle
such a project.
I also owe a debt of gratitude to those authors whose writings have been a source of helpline
in project.
Last but not least I would like to thanks my parents and project mates for guiding and
encouraging me throughout the duration of project.
This system is particularly beneficial for minimizing manual efforts, reducing errors, and
saving time, ensuring a smooth and efficient planning process. The application supports real-
time notifications, cloud-based data storage, and secure authentication, making it a reliable
and scalable solution for diverse user needs. By addressing common challenges in traditional
event planning, this project demonstrates how technology can transform the way weddings
are managed, offering a personalized and hassle-free experience.
The report elaborates on the project’s background, implementation techniques, and testing
outcomes, highlighting its potential to revolutionize event planning. With future
enhancements like AI-based suggestions and mobile app support, the system promises to be a
valuable tool for modern wedding planning.
FUNCTIONAL REQUIREMENT
1. User Management
User Registration: Allow users (clients and vendors) to register by providing personal
details, email, and password.
User Login/Authentication: Secure login system for users to access their accounts.
Profile Management: Users can create and manage profiles, including personal
details, preferences, and budgets.
Role-based Access Control: Different access levels for clients, vendors, and admins.
2. Event Planning
Wedding Packages: Display pre-designed wedding packages with pricing and details.
Custom Planning: Enable users to customize their wedding plans (venue, themes,
catering, etc.).
Checklist Management: Interactive wedding checklist to track planning tasks.
Budget Management: Tools to manage budgets and track expenses.
3. Vendor Management
Search Functionality: Enable users to search for vendors, venues, and services.
Filters: Filters based on price, location, availability, and ratings.
Sorting: Sort search results by popularity, cost, or rating.
5. Venue Management
Venue Listings: Display detailed venue profiles with images, capacity, and pricing.
Venue Availability: Calendar-based system to check availability.
Venue Booking: Book venues directly through the platform.
Payment Gateway Integration: Support for multiple payment methods (credit cards,
PayPal, etc.).
Installment Payments: Options for partial payments or installments.
Invoice Generation: Automatically generate invoices for bookings.
Image Galleries: Users can browse through galleries for inspiration (themes, decor,
dresses, etc.).
Blog/Articles: Wedding tips, trends, and success stories.
Dashboard: Dashboard for clients to view budget breakdown, tasks, and upcoming
events.
Vendor Reports: Vendors can track their bookings and payments.
1. Time-Consuming:
Coordination and communication rely heavily on in-person meetings and phone calls.
Repetitive tasks like vendor follow-ups and budget tracking take significant time.
2. Human Errors:
3. Limited Accessibility:
4. Lack of Automation:
6. Difficulty in Customization:
7. No Real-Time Updates:
1. Wedding Website Builder: Create a personalized wedding website to share with guests.
2. Guest List Management: Manage RSVPs, guest information, and seating arrangements.
3. Budgeting and Expense Tracking: Track expenses, create a budget, and receive alerts
when expenses exceed limits.
4. Timeline and Checklist Creator: Create a customized timeline and checklist to ensure
all tasks are completed on time.
6. Seating Chart and Table Management: Create and manage seating charts, table
assignments, and place settings.
8. Gift Registry Management: Create and manage a gift registry, allowing guests to
purchase gifts online.
9. Communication Tools: Send emails, messages, and reminders to guests, vendors, and the
wedding party.
10. Reporting and Analytics: Track website traffic, RSVPs, and other key metrics to help
with planning and decision-making.
ADVANTAGES OF ONLINE WEDDING PLANNING SYSTEM
1. Convenience: Accessible from anywhere, at any time, making it easy to plan and manage
the wedding.
2. Organization: Keeps all wedding-related information and tasks in one place, reducing
clutter and disorganization.
3. Time-Saving: Automates tasks, provides templates, and offers guidance, saving time and
effort.
4. Cost-Effective: Reduces paper waste, printing costs, and other expenses associated with
traditional wedding planning methods.
5. Stress Reduction: Provides a clear planning process, reminders, and guidance, reducing
stress and anxiety.
6. Collaboration: Allows couples to share planning tasks and responsibilities with each
other, vendors, and wedding party members.
7. Budgeting: Helps couples track expenses, create a budget, and receive alerts when
expenses exceed limits.
8. Increased Exposure: Online wedding planner systems can provide vendors with increased
exposure to potential clients.
10. Improved Organization: Helps vendors manage multiple weddings and clients more
effectively.
OBJECTIVE OF THIS PROJECT
The objective of an online wedding planning system is to provide a comprehensive and user-
friendly platform for couples to plan and manage their wedding. The system aims to simplify
the wedding planning process, reduce stress, and enhance overall experience. By offering a
range of tools and features, the system seeks to make wedding planning more efficient,
organized, and enjoyable.
1.1 Scope:
1.3 Overview
o Project is related to Online Wedding Planning System.
o The project maintains two levels of users:
Administration Level
User Level
o provided on this project area:
Wedding Website Creation
Guest Management (RSVP, Invitations)
Vendor Management (Catering, Photography, etc.)
Budgeting and Expense Tracking
Timeline and Checklist Creation
Seating Chart and Table Management
Communication Tools (Messaging, Email)
Payment and Invoice Management
OVERALL DESCRIPTION
1) Streamline Planning Process: Simplify and organize the wedding planning process,
reducing stress and workload for the couple.
2) Centralized Information Management: Provide a single platform for managing guest
lists, RSVPs, vendor contacts, and other wedding-related details.
3) Personalized Wedding Website: Offer a customizable website for the couple to share
their wedding story, details, and updates with guests.
4) Vendor Management: Facilitate communication and coordination with vendors, such as
caterers, photographers, and florists.
5) Budgeting and Expense Tracking: Assist couples in creating and managing their
wedding budget, tracking expenses, and receiving reminders for upcoming payments.
6) Guest Management: Enable couples to manage guest lists, send invitations, track
RSVPs, and receive gifts or donations.
7) Timeline and Reminders: Provide a timeline of wedding-related tasks and events,
sending reminders and notifications to ensure the couple stays on track.
8) Collaboration Tools: Offer features for collaboration between the couple, wedding
party, and vendors, ensuring everyone is informed and aligned.
9) Inspiration and Ideas: Provide access to wedding inspiration, ideas, and trends to help
couples plan their special day.
10) Mobile Accessibility: Ensure the platform is accessible and user-friendly on various
devices, including desktops, laptops, tablets, and smartphones.
2.2 Background
1) The concept of online wedding planning emerged in the early 2000s, driven by:
a. Increasing internet penetration
b. Growing demand for convenient wedding planning solutions
c. Advancements in web development and e-commerce technologies
2) Early online wedding planning platforms focused on:
a. Wedding website creation
b. Guest management and RSVP tracking
c. Basic wedding planning tools and checklists
3) Over time, online wedding planning systems evolved to include:
a. Vendor management and marketplace integration
b. Budgeting and expense tracking tools
c. Personalized wedding planning advice and inspiration
d. Mobile accessibility and social media integration
4) Today, online wedding planning systems aim to provide a comprehensive, user-friendly,
and personalized experience for couples, simplifying the wedding planning process and
reducing stress.
2.3 Project Requirements
2.5 Constraints
The feasibility of the project is analyzed in this phase and business proposal is put forth with
a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some understanding
of the major requirements for the system is essential.
Economic Feasibility
Technical Feasibility
Social Feasibility
o Economic Feasibility
o Technical Feasibility
The social feasibility of an ONLINE WEDDING PLANNING SYSTEM lies in its ability to
address the modern need for convenience, accessibility, and personalized services. With
busy lifestyles and geographically dispersed families, couples often face challenges in
coordinating traditional wedding planning. An online platform simplifies this process by
providing a centralized hub for managing tasks such as budgeting, vendor selection, guest
list management, and event scheduling. It also fosters inclusivity, enabling virtual
collaboration among family and friends regardless of their location. Additionally, the
system aligns with the growing reliance on digital tools, making it socially acceptable and
desirable for tech-savvy users. By offering tailored recommendations, user-friendly
interfaces, and cost-effective solutions, such a system has the potential to seamlessly
integrate into contemporary wedding planning practices, making it both practical and
socially relevant.
SOFTWARE DEVELOPMENT LIFE CYCLE
Introduction:
In project Development a project has both a life cycle and a "systems development
life cycle," during which a number of typical activities occur. The project life cycle
(PLC) encompasses all the activities of the project, while the systems development
life cycle focuses on realizing the product requirements.
Systems Development Life Cycle (SDLC) is any logical process used by a systems
analyst to develop an information system, including requirements, validation,
training, and user ownership. A SDLC should result in a high quality system that
meets or exceeds customer expectations, reaches completion within time and cost
estimates, works effectively and efficiently in the current and planned Information
Technology infrastructure, and is inexpensive to maintain and cost-effective to
enhance.
Computer systems have become more complex and often (especially with the advent
of Service-Oriented Architecture) link multiple traditional systems potentially
supplied by different software vendors. To manage this level of complexity, a
number of system development life cycle (SDLC) models have been created:-
Waterfall
Fountain
Spiral
Build and fix
Rapid prototyping
Incremental
Synchronize and stabilize
Some agile and iterative proponents confuse the term SDLC with sequential or
"more traditional" processes; however, SDLC is an umbrella term for all
methodologies for the design, implementation, and release of software.
o Initiation Phase: -
The initiation of a system (or project) begins when a business need or opportunity
is identified. A Project Manager should be appointed to manage the project. This
business need is documented in a Concept Proposal. After the Concept Proposal is
approved, the System Concept Development Phase begins.
Once a business need is approved, the approaches for accomplishing the concept are
reviewed for feasibility and appropriateness. The Systems Boundary Document
identifies the scope of the system and requires Senior Official approval and funding
before beginning the Planning Phase.
o Planning Phase: -
The concept is further developed to describe how the business will operate once the
approved system is implemented, and to assess how the system will impact
employee and customer privacy. To ensure the products and /or services provide the
required
capability on-time and within budget, project resources, activities, schedules, tools, and
reviews are defined. Additionally, security certification and accreditation activities
begin with the identification of system security requirements and the completion of a
high-level vulnerability assessment.
Functional user requirements are formally defined and delineate the requirements in
terms of data, system performance, security, and maintainability requirements for
the system. All requirements are defined to a level of detail sufficient for systems
design to proceed. All requirements need to be measurable and testable and relate to
the business need or opportunity identified in the Initiation Phase.
o Design Phase: -
The physical characteristics of the system are designed during this phase. The
operating environment is established, major subsystems and their inputs and outputs
are defined, and processes are allocated to resources. Everything requiring user
input or approval must be documented and reviewed by the user. The physical
characteristics of the system are specified and a detailed design is prepared.
Subsystems identified during design are used to create a detailed structure of the
system. Each subsystem is partitioned into one or more design units or modules.
Detailed logic specifications are prepared for each software module.
o Development Phase: -
The detailed specifications produced during the design phase are translated into
hardware, communications, and executable software. Software shall be unit tested,
integrated, and retested in a systematic manner. Hardware is assembled and tested.
The various components of the system are integrated and systematically tested. The
user tests the system to ensure that the functional requirements, as defined in the
functional requirements document, are satisfied by the developed or modified
system. Prior to installing and operating the system in a production environment, the
system must undergo certification and accreditation activities.
o Implementation Phase: -
The system or system modifications are installed and made operational in a
production environment. The phase is initiated after the system has been tested and
accepted by the user. This phase continues until the system is operating in
production in accordance with the defined user requirements.
o Disposition Phase: -
The disposition activities ensure the orderly termination of the system and preserve
the vital information about the system so that some or all of the information may
be reactivated in the future if necessary. Particular emphasis is given to proper
preservation of the data processed by the system, so that the data is effectively
migrated to another system or archived in accordance with applicable records
management regulations and policies, for potential future access.
SYSTEM ANALYSIS
System Analysis refers to the process of examining a situation with the intent of
improving it through better procedures and methods. System design is the process of
planning a new system to either replace or complement an existing system. But before
any planning is done, the old system must be thoroughly understood and requirements
determined. System Analysis is therefore, the process of gathering and interpreting
facts, diagnosis problems and using the information to re-comment improvements in
the system. Or in other words, system analysis means a detailed explanation or
description. Before computerizing a system under consideration, it has to be analyzed.
We need to study how it functions currently, what the problems, and what are the
requirements that the proposed system should meet.
System analysis is an activity that encompasses most of the tasks that are collectively
called Computer System Engineering. Confusion sometimes occurs because the term
is often used in context that allowed it only to software requirement analysis
activities, but system analysis is conducted with the following objectives in mind:
Identification of need-
Identification of Need is the first step in the System Development Life Cycle (SDLC).
It involves:
The goal of this step is to clearly articulate the need for a new system or changes to an
existing system.
Document-
These documents ensure that all stakeholders are informed and aligned throughout the
system development process.
Information Gathering-
Literature Review
Expert Opinion
User Surveys
Focus Groups
Brainstorming Sessions
Document Analysis
Observational Studies
Case Studies
Benchmarking
Interview
User requirements-
Functional Requirements (what the system should do)
Performance Requirements (speed, accuracy, etc.)
Usability Requirements (ease of use, navigation, etc.)
Security Requirements (access control, data protection, etc.)
Interface Requirements (user interface, hardware, etc.)
Acceptance Criteria-
Acceptance criteria are the conditions that must be met for a software system
to be accepted by the end-users or stakeholders.
Types:
Functional Acceptance Criteria: Verify software functions as expected.
Non-Functional Acceptance Criteria: Evaluate performance, usability,
security, etc.
Business Acceptance Criteria: Align with business goals and objectives.
Characteristics:
Specific
Measurable
Achievable
Relevant
Time-bound (SMART)
Example:
"The system shall allow users to login within 2 seconds, with a success rate of
99%, using a valid username and password."
Entity Relationship Diagram (ERD):
o Entity relationship diagrams are a way to represent the structure and layout of
a database. It is used frequently to describe the database schema. An ERD is a
model that identifies the concepts or entities that exist in a system and the
relationships between those entities. The relations between entities can be
describe in this manner
o The three main components of an ERD are:
The entity is a person, object, place or event for which data is collected. For
example, if you consider the information system for a voting system, entities
would include not only voter. The entity is represented by a rectangle and
labelled with a singular noun.
The relationship is the interaction between the entities. In the example above,
the places a candidate, so the word "places" defines the relationship between
that instance of a candidate and the voter that they place. A relationship may
be represented by a diamond shape, or more simply, by the line connecting the
entities. In either case, verbs are used to label the relationships.
Data Flow Diagram
The DFD is also called as bubble chart. It is a simple graphical formalism that can be used to
represent a system in terms of the input data to the system, various processing carried out on
these data, and the output data is generated by the system.
0- LEVEL DFD:
System user
Management
Login
Management Venue
Online Management
Wedding
Planning
Management
system
Wedding Package
Management Management
1- LEVEL DFD:
2- LEVEL DFD:
TOP-LEVEL DFD:
MODULE ADMIN:
Username
Password
Category
Login Login1
Admin
If
authenticat
DBMS
Candidate Data
and Couple store
Management
Search of
detail in
system
USER MODULE:
Admin
Candidate
Details Search
Candidate
master
Candidate Candidate
Details Search applying
details
Software Requirement Specification
Communication Module
Messaging system for couples, wedding planners, and vendors
Email and SMS notifications for updates and reminders
Integration with social media for wedding updates and sharing
Integration Module
Integration with third-party services (payment gateways, social media, etc.)
API for custom integrations and development
TOOLS AND PLATFORM
Hardware Requirements
Servers: 2-3 high-performance servers with multiple CPUs, RAM, and storage.
CPU: Quad-core or hexa-core processors (e.g., Intel Xeon or AMD Ryzen).
RAM: 16-32 GB of DDR4 RAM or higher.
Storage: 1-2 TB of SSD storage for faster data access.
Database Server: A separate server for the database management system (DBMS).
Network Requirements
Software Requirements
Windows-XP
Windows XP:
The most common editions of the operating system are Windows XP Home Edition, which is
targeted at home users, and Windows XP Professional, which offers additional features such
as support for Windows Server domains and two physical processors, and is targeted at power
users, business and enterprise clients. Windows XP Media Center Edition has additional
multimedia features enhancing the ability to record and watch TV shows, view DVD movies,
and listen to music. Windows XP Tablet PC Edition is designed to run stylus applications
built using the Tablet PC platform. Windows XP was eventually released for two additional
architectures, Windows XP 64-bit Edition for IA-64 (Itanium) processors and Windows XP
Professional x64 Edition for x86-64. There is also Windows XP Embedded, a component
version of the Windows XP Professional, and editions for specific markets such as Windows
XP Starter Edition.
Windows XP is known for its improved stability and efficiency over the 9x versions of Microsoft
Windows. It presents a significantly redesigned graphical user interface, a change Microsoft
promoted as more user-friendly than previous versions of Windows. A new software
management facility called Side-by-Side Assembly was introduced to avoid the "DLL hell" that
plagued older consumer-oriented 9x versions of Windows.It is also the first version of Windows
to use product activation to combat illegal copying, a restriction that did not sit well with some
users and privacy advocates. Windows XP has also been criticized by some users for security
vulnerabilities, tight integration of applications such as Internet Explorer 6 and Windows Media
Player, and for aspects of its default user interface. Later versions with Service Pack 2, Service
Pack 3, and Internet Explorer 7 addressed some of these concerns.
Windows –XP Editions :-
The two major editions are Windows XP Home Edition, designed for home users, and
Windows XP Professional, designed for business and power-users. XP Professional contains
advanced features that the average home user would not use. However, these features are not
necessarily missing from XP Home. They are simply disabled, but are there and can become
functional. These releases were made available at retail outlets that sell computer software,
and were preinstalled on computers sold by major computer manufacturers. As of mid-2008,
both editions continue to be sold. A third edition, called Windows XP Media Center Edition
was introduced in 2002 and was updated every year until 2006 to incorporate new digital
media, broadcast television and Media Center Extender capabilities. Unlike the Home and
Professional edition, it was never made available for retail purchase, and was typically either
sold through OEM channels, or was preinstalled on computers that were typically marketed
as "media center PCs".
Two different 64-bit editions were made available, one designed specifically for Itanium-
based workstations, which was introduced in 2001 around the same time as the Home and
Professional editions, but was discontinued a few years later when vendors of Itanium
hardware stopped selling workstation-class machines due to low sales. The other, called
Windows XP Professional x64 Edition, supports the x86-64 extension of the Intel IA-32
architecture. x86- 64 is implemented by AMD as "AMD64", found in AMD's Opteron and
Athlon 64 chips, and implemented by Intel as "Intel 64" (formerly known as IA-32e and
EM64T), found in Intel's Pentium 4 and later chips.
User Interface :-
Windows XP features a new task-based graphical user interface. The Start menu and search
capability were redesigned and many visual effects were added, including:
Types of Websites:
Static Website: A website that displays fixed content, with no user interaction or
dynamic updates.
Dynamic Website: A website that displays dynamic content, with user interaction,
and updates in real-time.
E-commerce Website: A website that allows users to purchase products or services
online.
Blog: A website that features regularly updated articles, posts, or news.
Portfolio Website: A website that showcases an individual's or company's work,
projects, or services.
Components of a Website:
Domain Name: The unique address of a website, used to identify it on the internet.
Web Server: The computer or machine that hosts a website and its content.
Web Pages: The individual pages that make up a website, each with its own unique
content and URL.
Content Management System (CMS): A software application that allows users to
create, edit, and manage website content.
Database: A storage system that holds website data, such as user information,
content, and settings.
Features of a Website:
User Interface (UI): The visual elements and layout of a website, designed to
provide a user-friendly experience.
User Experience (UX): The overall experience of using a website, including
navigation, responsiveness, and accessibility.
Search Engine Optimization (SEO): Techniques used to improve a website's
visibility and ranking on search engines.
Security: Measures taken to protect a website from hacking, malware, and other
online threats.
Scalability: The ability of a website to handle increased traffic and growth.
FLOW OF DATA IN A WEBSITE
FRONT END
Microsoft Visual Studio (VS) is a popular integrated development environment (IDE) for building,
debugging, and deploying a wide range of applications, including web, mobile, and desktop apps.
Code Editing: VS offers a powerful code editor with features like syntax highlighting,
code completion, and refactoring.
Debugging: VS provides a robust debugging environment with features like breakpoints,
step-through debugging, and performance profiling.
Project Management: VS allows you to manage your projects, including creating,
building, and deploying applications.
Version Control: VS integrates with version control systems like Git, Team Foundation
Server (TFS), and Subversion (SVN).
Testing: VS provides tools for testing, including unit testing, integration testing, and load
testing.
Collaboration: VS enables collaboration with features like code review, team explorer,
and live sharing.
Architecture:
Extension Architecture:
Extension Manifest: Each extension has a manifest file that describes its metadata,
capabilities, and dependencies.
Extension Host: The extension host is responsible for loading and
managing extensions, providing a sandboxed environment for them to run
in.
API: VS Code provides an API that allows extensions to interact with the editor,
workbench, and other components.
Components Of Frontend:
The front-end, also known as the client-side, is the part of the website that users interact with
directly. It's responsible for the visual aspects and user experience of the website. The front-
end includes:
User Interface (UI): The layout, design, and visual elements of the website, such
as buttons, forms, and images.
User Experience (UX): The overall experience of using the website,
including navigation, responsiveness, and accessibility.
Client-side scripting: Programming languages like JavaScript, HTML, and CSS that
run on the client's web browser.
Web browsers: Google Chrome, Mozilla Firefox, Safari, etc.
HTML (Hypertext Markup Language) is the standard markup language used to create
web pages. It is the backbone of a website, providing the structure and content that
the web browser renders to the user.
Basic HTML Concepts:
CSS (Cascading Style Sheets) is a styling language used to control the layout and
appearance of web pages written in HTML or XML. It is a crucial component of web
development, allowing developers to separate presentation from structure and create
visually appealing and user-friendly interfaces.
• Selectors: Used to target specific HTML elements and apply styles to them.
• Properties: Define the styles to be applied to the selected elements, such
as color, font, or padding.
• Values: The specific values assigned to properties, such as a color code or
a font size.
• Rules: A combination of a selector, property, and value that defines a style.
JavaScript
• Variables: In JavaScript, variables are used to store data. There are three
types of variables: var, let, and const.
• Data Types: JavaScript has several data types, including:
- Number: a numeric value, e.g. 42
- String: a sequence of characters, e.g. "hello"
- Boolean: a true or false value, e.g. true
- Array: a collection of values, e.g. [1, 2, 3]
- Object: a collection of key-value pairs, e.g. { name: "John", age: 30 }
- Null: a special value that represents the absence of any object value
- Undefined: a special value that represents an uninitialized variable
• Operators: JavaScript has various operators for performing
arithmetic, comparison, logical, and assignment operations.
• Control Structures: JavaScript has several control structures that allow you to
control the flow of your program:
- Conditional Statements: if, else, switch
- Loops: for, while, do-while
- Functions: reusable blocks of code that take arguments and return
values
• Functions: Functions are reusable blocks of code that take arguments
and return values. They are defined using the function keyword.
• Scope: Scope refers to the region of the code where a variable is defined
and can be accessed.
• Hoisting: Hoisting is a mechanism in JavaScript where variables and
functions are moved to the top of their scope, regardless of where they are
defined.
• Closure: A closure is a function that has access to its own scope and the
scope of its outer functions, even when the outer functions have returned.
• DOM: The Document Object Model (DOM) is a programming interface for
HTML and XML documents. It allows you to interact with and manipulate
the document's structure and content.
• Events: Events are actions that occur in a web page, such as clicking a button
or submitting a form. JavaScript allows you to respond to these events using
event listeners.
A frontend framework is a set of pre-built components, tools, and libraries that help
developers build user interfaces and client-side applications more efficiently and
effectively. Frontend frameworks provide a structure and a set of guidelines for
building web applications, making it easier to create responsive, interactive, and
maintainable interfaces.
UI (User Interface) refers to the visual elements and interactions that a user encounters when
interacting with a digital product, such as a website, application, or software. The goal of UI
is to provide an intuitive and user-friendly experience, making it easy for users to navigate
and achieve their goals.
Header: The top section of the webpage, which typically contains the title, logo,
and navigation menu.
Body: The main content area of the webpage, which can contain text, images,
videos, and other multimedia elements.
Footer: The bottom section of the webpage, which typically contains secondary
information, such as copyright notices, contact information, and social media links.
Navigation: The links and menus that allow users to navigate to other
webpages within the website.
Content: The text, images, videos, and other multimedia elements that make up
the webpage.
Entity Data Model:
The Entity data model (EDM) specifies the conceptual model (CSDL) of the data via the Entity-
Relationship model, which deals primarily with Entities and the Associations they participate in.
The EDM schema is expressed in the Schema Definition Language (SDL), which is an
application of XML. In addition, the mapping (MSL) of the elements of the conceptual schema
(CSDL) to the storage schema (SSDL) must also be specified. The mapping specification is also
expressed in XML.
Visual Studio also provides Entity Designer, for visual creation of the EDM and the mapping
specification. The output of the tool is the XML file (*.edmx) specifying the schema and the
mapping.
LINQ
LINQ query syntax is a set of query keywords built into the .NET framework (3.5 and higher)
that allow the developer to write SQL style commands in line straight in the code editor,
without the use of quotes.
BACK END
Microsoft SQL Server is an application used to create computer databases. SQL Server
provides an environment to generate databases that can be accessed from workstations, the
Internet, or other media such as a personal digital assistant (PDA).
SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the
core database engine. While there are no limitations on the number of databases or users
supported, it is limited to using one processor, 1 GB memory and 4 GB database files. The
entire database is stored in a single .mdf file, and thus making it suitable for XCOPY
deployment. It is intended as a replacement for MSDE. Two additional editions provide a
superset of features not in the original Express Edition. The first is SQL Server Express with
Tools, which includes SQL Server Management Studio Basic. SQL Server Express with
Advanced Services adds full-text search capability and reporting services.
SQL Server 2008 was released on August 6, 2008 and aims to make data management self-
tuning, self organizing, and self maintaining with the development of SQL Server
technologies, to provide near-zero downtime. With the release of Microsoft SQL Server
2008, SQL Server has become more than just a relational database hidden behind your
corporate applications. Microsoft’s ambitious goal for SQL Server 2008 is to be an enterprise
data not a database platform, and Microsoft is positioning SQL Server 2008 to become the
provider for all your enterprise information needs. With its built-in integration, analysis, and
reporting services, SQL Server 2008 is more than ready to meet this expectation.
SQL Server 2008 also includes support for structured and semi-structured data, including
digital media formats for pictures, audio, video and other multimedia data. In current
versions, such multimedia data can be stored as BLOBs (binary large objects), but they are
generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to
be performed on them.
Other new data types include specialized date and time types and a Spatial data type for
location-dependent data. Better support for unstructured and semi-structured data is provided
using the new FILESTREAM data type, which can be used to reference any file stored on the
file system. Structured data and metadata about the file is stored in SQL Server database,
whereas the unstructured component is stored in the file system. Such files can be accessed
both via Win32 file handling APIs as well as via SQL Server using T-SQL; doing the latter
accesses the file data as a BLOB. Backing up and restoring the database backs up or restores
the referenced files as well. SQL Server 2008 also natively supports hierarchical data,
includes T-SQL constructs to directly deal with them, without using recursive queries.
Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type
represents geospatial data which has been projected from its native, spherical, coordinate
system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in
which the Earth is defined as a single continuous entity which does not suffer from the
singularities such as the international dateline, poles, or map projection zone "edges".
Approximately 70 methods are available to represent spatial operations for the Open
Geospatial Consortium Simple Features for SQL.
SQL Server includes better compression features, which also helps in improving scalability.
It enhanced the indexing algorithms and introduced the notion of filtered indexes. It also
includes Resource Governor that allows reserving resources for certain users or workflows. It
also includes capabilities for transparent encryption of data (TDE) as well as compression of
backups The version of SQL Server Management Studio included with SQL Server 2008
supports IntelliSense for SQL queries against a SQL Server 2008 Database Engine.
1. Intellisense in the SQL Server Management Studio (SSMS). This has been previously
possible in SQL Server 2000 & 2005 with use of 3rd party tools like SQL Prompt. But these
tools are a horrible hack at best. Built-in intellisense helps new people to easily learn the
database schema.
3. Plan freezing. Sometimes SQL Server decides to change its plan on you, if you've achieved
your optimal query plan, now you can stick with it.
4. Resource governor. Basically it allows the DBA to specify how much resource (e.g.
CPU/RAM) each user is entitled. At the very least, it'll prevent people, with sparse SQL
knowledge from shooting off a query with a Cartesian product and bringing down the box.
Actually Sybase is still ahead of MS on this feature. Its ASE server allows you to prioritize one
user over another.
5. Filtered Indexes. This is another good feature it allows you to create an index while
specifying what rows are not to be in the index. For example, index all rows where Status !=
null. Theoretically, it'll get rid of all the dead weight in the index, allowing for faster queries.
6. Compression. The release will offer row-level and page-level compression. The compression
mostly takes place on the metadata. For instance, page compression will store common data for
affected rows in a single place.
The metadata storage for variable length fields is pushing things into bits (instead of bytes). For
instance, length of the varchar will be stored in 3 bits.
7. Auditing. It's storing changes to data for later review, debugging or in response to regulatory
laws. It's a thankless and a mundane task and no one is ever excited by the prospect of writing
triggers to handle it. SQL Server 2008 introduces automatic auditing.
10. Plug-in model for SSMS. SSMS 2005 also had a plug-in model, but it was not published,
so the few developers that braved that environment were flying blind. Apparently for 2008, the
plug- in model will be published and thousands add-ins will bloom.