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

BANGALORE UNIVERSITY

A PROJECT REPORT
ON

“YOGA CLASS REGISTRATION SYSTEM”

Submitted in Practical Fulfillment for the Award of the Degree

BACHELOR OF COMPUTER APPLICATION


Submitted by
KOUSALYA D M 208MSB7032

UNDER THE GUIDANCE OF


PROF. RAVI K
DEPARTMENT OF COMPUTER APPLICATIONS

RNS FIRST GRADE COLLEGE


NAAC Accredited with ‘A’ Grade
Channasandra, Bangalore-560098
2022-2023
RNS FIRST GRADE COLLEGE
NAAC Accredited with ‘A’ Grade
Channasandra, Bangalore-560098

CERTIFICATE

This is to certify that KOUSALYA D.M (Register No. 208MSB7032) has


successfully completed the project titled “YOGA CLASS REGISTRATION
SYSTEM” at RNS FIRST GRADE COLLEGE under my supervision and
guidance in fulfillment of requirement of VI semester, Bachelor of Computer
Application of Bangalore University, Bangalore

Signature of the Guide:

Head of the Department Principal

Signature of Examiners:

1)……………………

2)……………………
ACKNOWLEDGEMENT

I express my deep sense of gratitude to my guide Prof. Ravi K, Department of


Computer Application for providing valuable suggestions and guidance during
the development, designing and implementation of the project, without which it
would not have been possible to complete the project.

I express my sincere thanks to our beloved Principal Dr. Sudheer Pai K L, for
providing us all the facilities for laboratory and library.

I express my gratitude to my Vice Principal Prof. Shilpa Sarnad, for her


continuous support and assistance during the course of my project.

I wish to reciprocate in full measure the kindness shown by Dr. Mohan S H,


Head of the Department who inspired us with his valuable suggestions in
successfully completing the project work.

I express my grateful thanks to all the staff members, Department of Computer


Application for their valuable assistance, encouragement and co-operation during
this wonderfull earning experience.

Finally, I would like to express my sincere thanks to my parents and my friends


for the useful tips and moral support.
Table of Contents

Chapter 1 Introduction ................................................................................ 1


1.1 Overview

1.2 Project Description

1.3 Objectives

1.4 Scope of the project

1.5 Modules

Chapter 2 System Analysis .......................................................................... 5


2.1 Existing System

2.2 Proposed System

Chapter 3 Feasibility Study ......................................................................... 7


3.1 Technical Feasibility

3.2 Economical Feasibility


3.3 Operational Feasibility
3.4 System Design
3.5 Software Development Life Cycle

Chapter 4 Software Requirements .............................................................. 11


4.1 Hardware Requirements
4.2 Software Requirements

Chapter 5 Requirements Analysis............................................................... 13


5.1 Software Requirement Specification

Chapter 6 ER Diagram ................................................................................ 16


6.1 ER Diagram
6.2 Data Flow Diagram

Chapter 7 Software Components ................................................................ 20


7.1 Introduction to PHP
7.2 Introduction to CSS
7.3 Introduction to JavaScript
7.4 Introduction to HTML
7.5 Introduction to XAMPP
7.6 Introduction to MySQL

Chapter 8 Screenshots .................................................................................... 27


8.1 Admin Modules

8.1.1 Login Page


8.1.2 Dashboard
8.1.3 Category List
8.1.4 Class List
8.1.5 Pages
8.1.6 Registration Requests
8.1.7 Inquiries
8.1.8 User list
8.1.9 System Information
8.2 User Modules
8.2.2 Home Page
8.2.3 Classes
8.2.3 About Page
8.2.4 Contact us Page

Chapter 9 Database ......................................................................................... 35


9.2 Users Database
9.3 Class List Database
9.3 System information Database

9.4 Inquiry Database


9.5 Registration Database
9.6 Category Database

Chapter 10 Source Code ................................................................................. 38


10.1 Admin Side Code
10.1.1 Admin Login Code
10.1.2 Dashboard Code
10.1.3 Categories Code
10.1.4 Classes Code
10.1.5 Manage Classes Code
10.1.6 Manage Categories Code
10.1.7 Inquiries Code
10.1.8 Registration Code
10.2 User Side Code
10.2.1 Home Page Code
10.2.2 About Page Code
10.2.3 Contact Page Code
10.2.4 Pages Code

Chapter 11 Testing.......................................................................................64
11.1 Testing purpose
11.2 Levels of testing

11.3 Types of testing

Chapter 12 Validation ................................................................................. 68


12.1 Software Verification

12.2 Validation testing

Chapter 13 Future Enhancement ................................................................ 70


Chapter 14 Conclusion ................................................................................ 72
Bibliography ................................................................................................. 74
YOGA CLASS REGISTRATION SYSTEM

INTRODUCTION

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 1|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-1
INTRODUCTION

1.1 OVERVIEW
In today's fast-paced world, maintaining a healthy mind and body is of utmost importance. Yoga
has emerged as a popular practice that promotes physical fitness, mental well-being, and spiritual
growth. With an increasing number of people embracing yoga as a way of life, it becomes essential to
have an efficient and user-friendly system to manage yoga class registrations.
The Yoga Class Registration System project aims to develop a comprehensive software
application that simplifies the process of registering for yoga classes, streamlines administrative tasks,
and enhances the overall experience for both yoga instructors and students. This system will provide
a centralized platform where individuals can explore different yoga classes, register for their preferred
sessions, and manage their attendance.

1.2 PROJECT DESCRIPTION

A yoga class registration system is a software application that enables users to sign up for yoga
classes and manage their registrations. It typically allows users to view available classes, choose the
class they want to attend, and provide their personal information to register. The system may also offer
features such as class scheduling, payment processing, and booking confirmations. Users can view
their booking history and make changes to their registrations if necessary.
In addition, an admin panel may be available to manage class schedules, view user data, and
generate reports. Yoga class registration systems can benefit both users and yoga studios. The system
provides users with a convenient and efficient way to sign up for classes and manage their bookings.
For yoga studios, it simplifies the registration process, improves customer experience, and enables
better class management. The system can also provide valuable data insights for studios, allowing
them to optimize their class offerings and make data-driven decisions.

1.2.1 Streamlining the registration process


1.2.2 Improving customer experience
1.2.3 Facilitating class management
1.2.4 Increasing revenue
1.2.5 Providing valuable data insights

1.3 Objectives

1. Streamlining the registration process : The system allows users to easily view available
classes, select the classes they want to attend, and provide their personal information to register.

2. Improving customer experience: The system provides a user-friendly interface and offer
features such as automatic booking confirmations and reminders to enhance the customer
experience.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 2|Page


YOGA CLASS REGISTRATION SYSTEM

3. Facilitating class management: This includes the ability to add and remove classes, set
class capacity limits, and view attendance records.

4. Increasing revenue: The system can help yoga studios increase revenue by enabling online
payment processing and reducing the likelihood of missed appointments due to no-shows.

5. Providing valuable data insights : The system collects and analyzes data on class
attendance, user behavior, and other metrics to provide insights that can help yoga studios
optimize their class offerings and make data-driven decisions.

1.4 SCOPE OF THE PROJECT

1. User registration: The system should allow users to create an account with their personal
information, such as name, email address, and password.

2. Class scheduling: The system should allow the yoga studio to add and remove classes, set class
capacity limits, and update class schedules as necessary.

3. Class registration: The system should allow users to view available classes and register for the
classes they want to attend.

4. Payment processing: The system should allow users to make online payments for classes, with
options for different payment methods and secure payment processing.

5. Booking management: The system should allow users to view their booking history and make
changes to their registrations if necessary. The system should also allow the yoga studio to view
attendance records and manage class bookings.

The scope of the project may also include additional features or customizations specific to the
needs of the yoga studio or users. Overall, the scope of the yoga class registration system project should
be defined clearly to ensure the system meets the needs of all stakeholders and is delivered within the
agreed timeframe and budget.

1.5 MODULES

Admin Side Modules


 Login and Logout
 Yoga Categories Management
 Yoga Class Management
 Page Content Management
 Welcome Page
 About Page
 Contact Information
 Registration Request Management
 Inquiries Management
 User Management

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 3|Page


YOGA CLASS REGISTRATION SYSTEM

 System Information Management


 Account Details Management

Client Side Modules

 Home Page
 About Us Page
 Contact Information Page
 Submit Inquiries
 List All Yoga Classes
 Search Yoga Class
 View Yoga Class Details
 Submit Class Registration Request

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 4|Page


YOGA CLASS REGISTRATION SYSTEM

SYSTEM
ANALYSIS

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 5|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-2
SYSTEM ANALYSIS

Systems analysis, is a phase of systems engineering. The principal objective of the systems
analysis phase is the specification of what the system needs to do to meet the requirements of end users.
In the systems design phase, such specifications are converted to a hierarchy of charts that define the
data required and the processes to be carried out on the data so they can be expressed as instructions of
a computer program. Many information systems are implemented with generic software, rather than
with such custom-built programs.

2.1 EXISTING SYSTEM

In the existing system all the records are maintained only manually. The disadvantages of the
existing system are:
 Manual registration process
 Limited class scheduling visibility
 Inconvenient payment methods
 Lack of automated notifications
 Needs manual calculation
 Time consuming
 Lack of security for the data

2.2 PROPOSED SYSTEM

The aim of proposed system is to develop a system of improved facilities. This system
overcomes all the limitations of the existing system.
 Online registration
 Enhanced class scheduling visibility
 Convenient payment processing
 User management
 Greater efficiency
 Security of data
 Ensures data accuracy
 Better service
 User friendly and interactive

Overall, the proposed system will offer a more convenient and efficient way for users to sign up for
classes and manage their bookings, while also providing valuable data insights for the yoga studio.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 6|Page


YOGA CLASS REGISTRATION SYSTEM

FEASIBILITY
STUDY

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 7|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-3

Feasibility Study

It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible
time. Months or years of effort, thousands and millions of dollars, and untold professional
embarrassment can be averted if an ill-conceived system is recognized early in the definition phase.
Feasibility and risk analysis are related in many ways. If project risk is great, the feasibility of
producing quality software is reduced. During product engineering, however, we concentrate our
attention on four primary areas of interest.

3.1 Technical Feasibility


Technical feasibility is the need of hardware and software, which are needed to implement the
proposed system in the organization. Technical requirements are to be fulfilled to make the proposed
system work. This should be necessarily predetermined so as to make the system more competent.

3.2 Economical Feasibility


The Economical feasibility must satisfy the needs of the technical feasibility and the operational
feasibility. It involves the economic feasibility of developing and implementing the proposed system.

3.3 Operational Feasibility


The proposed system should use the internet level then the different types of end users are
involved in the system, so it solves the user’s needs and the organization needs. And it supports the all
users environment.

3.4 System Design


System design is the phase that bridges the gap between problem domain and the existing system
in a manageable way. It is the phase where the SRS document is converted into a format that can be
implemented and decides how the system will operate.
In this phase, the complex activity of system development is divided into several smaller sub-activities,
which coordinate with each other to achieve the main objective of system development.

Types of System Design

 Logical Design
Logical design pertains to an abstract representation of the data flow, inputs, and outputs of the
system. It describes the inputs (sources), outputs (destinations), databases (data stores), procedures (data
flows) all in a format that meets the user requirements.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 8|Page


YOGA CLASS REGISTRATION SYSTEM

While preparing the logical design of a system, the system analyst specifies the user needs at level of
detail that virtually determines the information flow into and out of the system and the required data
sources. Data flow diagram, E-R diagram modeling are used.

 Physical Design
Physical design relates to the actual input and output processes of the system. It focuses on how
data is entered into a system, verified, processed, and displayed as output.
It produces the working system by defining the design specification that specifies exactly what the
candidate system does. It is concerned with user interface design, process design, and data design.
It consists of the following steps −
 Specifying the input/output media, designing the database, and specifying backup procedures.
 Planning system implementation.
 Devising a test and implementation plan, and specifying any new hardware and software.
 Updating costs, benefits, conversion dates, and system constraints.

3.5 Software Development Life Cycle (SDLC)


System Development Life Cycle (SDLC) is a conceptual model which includes policies and
procedures for developing or altering systems throughout their life cycles.
SDLC is used by analysts to develop an information system. SDLC includes the following activities −

 requirements
 design
 implementation
 testing
 deployment
 operations
 maintenance

Phases of SDLC
Systems Development Life Cycle is a systematic approach which explicitly breaks down the work
into phases that are required to implement either new or modified Information System.
1. Requirements gathering and analysis: This phase involves gathering information about the
software requirements from stakeholders, such as customers, end-users, and business analysts.

2. Design: In this phase, the software design is created, which includes the overall architecture of
the software, data structures, and interfaces. It has two steps:
 High-level design (HLD): It gives the architecture of software products.
 Low-level design (LLD): It describes how each and every feature in the product should
work and every component.

3. Implementation or coding: The design is then implemented in code, usually in several


iterations, and this phase is also called as Development.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 9|Page


YOGA CLASS REGISTRATION SYSTEM

Things you need to know about this phase:


 This is the longest phase in SDLC model.
 This phase consists of Front end + Middleware + Back-end.
 In front-end: Development of coding is done even SEO settings are done.
 In Middleware: They connect both the front end and back end.
 In the back-end: A database is created.

4. Testing: The software is thoroughly tested to ensure that it meets the requirements and works
correctly.

5. Deployment: After successful testing, The software is deployed to a production environment and
made available to end-users.

6. Maintenance: This phase includes ongoing support, bug fixes, and updates to the software.

Figure 3.1

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 10|Page


YOGA CLASS REGISTRATION SYSTEM

SOFTWARE
REQUIREMENTS

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 11|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-4

SOFTWARE REQUIREMENTS

4.1 HARDWARE REQUIREMENTS

SL.NO Hardware Details


1. Processor Pentium IV
2. RAM 6.12 MB required
3. Hard disk GB required

4.2 SOFTWARE REQUIREMENTS

SL.NO Software Details


1. Operating System Windows 10
2. Developing Tool Visual Studio Code
3. Front End (Design) HTML, CSS &
JavaScript
4. Back End (Design) PHP
5. Database MYSQL

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 12|Page


YOGA CLASS REGISTRATION SYSTEM

REQUIREMENT
ANALYSIS

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 13|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER 5

REQUIREMENT ANALYSIS

5.1 SOFTWARE REQUIREMENT SPECIFICATION (SRS)


A software requirements specification (SRS) is a description of a software system to be developed. It
is modeled after the business requirements specification (CONOPS). The software requirements
specification lays out functional and non-functional requirements, and it may include a set of use cases
that describe user interactions that the software must provide to the user for perfect interaction.
Software Requirement Specification is the starting point of the software development activity.
It includes an introduction that gives the purpose, scope and an overview of the system. This needs
requirement by talking to the people and understanding their needs. It also includes a general
description of the product perspective, product function and certain user characteristics of the system.
It also specifies the overall functional requirements, performance requirements and design constraints.
The SRS is a means of translating the idea in the mind of the clients (the input), into a formal
document (the output of the requirement phase). The Software Requirement Specification document is
organized in such a manner it aids validation and system design.

Figure 5.1

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 14|Page


YOGA CLASS REGISTRATION SYSTEM

Software requirements specifications establish the basis for an agreement between customers and
contractors or suppliers on how the software product should function (in a market-driven project, these
roles may be played by the marketing and development divisions). Software requirements specification
is a rigorous assessment of requirements before the more specific system design stages, and its goal is
to reduce later redesign. It should also provide a realistic basis for estimating product costs, risks, and
schedules. Used appropriately, software requirements specifications can help prevent software project
failure.
The software requirements specification document lists sufficient and necessary requirements
for the project development. To derive the requirements, the developer needs to have a clear and
thorough understanding of the products under development. This is achieved through detailed and
continuous communications with the project team and customer throughout the software development
process. The SRS may be one of a contract's deliverable data item descriptions or have other forms of
organizationally-mandated content. Typically a SRS is written by a technical writer, a systems architect,
or a software programmer.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 15|Page


YOGA CLASS REGISTRATION SYSTEM

ER DIAGRAM

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 16|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-6

6.1 ER Diagram

Figure 6.1

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 17|Page


YOGA CLASS REGISTRATION SYSTEM

6.2 Data Flow Diagram


A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system. DFDs can also be used for the visualization of data processing (structured
design). On a DFD, data items flow from an external data source or an internal data store to an
internal data store or an external data sink, via an internal process.

A DFD provides no information about the timing of processes, or about whether


processes will operate in sequence or in parallel. It is therefore quite different from a flowchart,
which shows the flow of control through an algorithm, allowing a reader to determine what
operations will be performed, in what order, and under what circumstances, but not what kinds
of data will be input to and output from the system, nor where the data will come from and go
to, nor where the data will be stored (all of which are shown in DFD).

Level 0:

Figure 6.2

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 18|Page


YOGA CLASS REGISTRATION SYSTEM

Level 1:

Figure 6.3

Level 2:

Figure 6.4

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 19|Page


YOGA CLASS REGISTRATION SYSTEM

SOFTWARE
COMPONENTS

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 20|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-7

SOFTWARE COMPONENTS

7.1 INTRODUCTION TO PHP

PHP is a server-side scripting language designed primarily for web development but also used
as a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994, the PHP
reference implementation is now produced by The PHP Development Team. PHP originally stood for
personal home page but it now stands for the recursive acronym PHP: Hypertext Pre-processor.

 Features of PHP
We have learned about PHP and its uses. But what are the features that make PHP popular. Now
that we have a basic understanding of PHP, let us see some of the most striking features of PHP .It is a
very popular language because it is simple and is open-source. There are many convincing reasons for
why you should be using PHP, some of them being:
• It is easy to install and learn.
• It is open-source and therefore free.
• Not only that, but it is fast and secure.
• It runs on various platforms (Windows, Linux, Unix, etc.).
• PHP can access cookies variable and set cookies.
• It supports many protocols, such as HTTP, POP3, LDAP, IMAP, SNMP, NNTP, and
many more.
• It is well-connected with databases and supports a wide range of databases
• Many references and learning materials are available for PHP are available over the
internet.
 Being a server-side scripting language (unlike JavaScript, which is a clientside scripting
language), it is used to manage the dynamic and interactive content of a website and is
executed on the server-side. PHP is fast and easy to learn. It can be embedded in HTML,
making it easier to add functionalities without needing to call external files or data as it can be
easily connected with a wide range of databases.
 PHP has something to offer everybody- it is extremely simple and friendly for beginners, and
it has lots of features for professionals. Over the years, the role of PHP has shifted, and it has
now become one of the most popular programming languages in the world. 
 PHP is specifically designed for web development. It allows developers to create dynamic and
interactive web pages by embedding PHP code within HTML.
 PHP syntax is similar to c and Perl. It offers a wide range of features, including support for
variables, arrays, functions, conditionals, loops, object-oriented programming, database
integration, file handling and more.
 PHP has numerous frameworks that provide a structural approach to web development. Some
popular frameworks include Laravel, Symfony, Codelgniter, and CakePHP.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 21|Page


YOGA CLASS REGISTRATION SYSTEM

7.2 INTRODUCTION TO CSS

Cascading Style Sheets, fondly referred to as CSS, is a simply designed language intended to
simplify the process of making web pages presentable. CSS allows you to styles to web pages. More
importantly, CSS enables you to do this independent of the

HTML that makes up each web page. It describes how a webpage should look: it prescribes
colors, fonts, spacing, and much more. In short, you can make your website look however you want.
CSS lets developers and designers define how it behaves, including how elements are positioned in
the browser. While html uses tags, CSS uses rulesets. CSS is easy to learn and understand, but it
provides powerful control over the presentation of an HTML document.

• Easy Maintenance: To make a global change simply change the style, and all elements in all the
webpages will be updated automatically.
• Search Engines: CSS is considered a clean coding technique, which means search engines won’t
have to struggle to “read” its content.
• Superior styles to HTML: CSS has a much wider array of attributes than HTML, so you can give a
far better look to your HTML page in comparison to HTML attributes.
• Offline Browsing: CSS can store web applications locally with the help of an offline cache. Using
this we can view offline websites.
• CSS stands for Cascading Style Sheets
• CSS describes how HTML elements are to be displayed on screen, paper, or in other media
• CSS saves a lot of work. It can control the layout of multiple web pages all at once
• External stylesheets are stored in CSS files
CSS comprises style rules that are interpreted by the browser and then applied to the corresponding
elements in your document. A style rule set consists of a selector and declaration block.

1. Selector: A selector in CSS is used to target and select specific HTML elements to apply styles
to.

2. Declaration: A declaration in CSS is a combination of a property and its corresponding value.


• The selector points to the HTML element you want to style.
• declaration block contains one or more declarations separated by semicolons.
• Each declaration includes a CSS property name and a value, separated by a colon.

7.3 INTRODUCTION TO JAVASCRIPT

JavaScript (JS) is a lightweight, interpreted, or just in time compiled programming language


with first class functions. While it is most well-known as the scripting language for Web pages, non
browser environments also use it, such as node. JS, Apache CouchDB and Adobe Acrobat. JavaScript
is a prototype based, multi-paradigm, single threaded, dynamic language, supporting object oriented,
imperative, and declarative (e.g. functional programming) styles. JavaScript's dynamic capabilities
include runtime object construction, variable parameter lists, function variables, dynamic script creation

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 22|Page


YOGA CLASS REGISTRATION SYSTEM

(via eval), object introspection , and source-code recovery (JavaScript functions store their source text
and can be retrieved through toString()). This section is dedicated to the JavaScript language itself, and
not the parts that are specific to Web pages or other host environments. For information about APIs that
are specific to Web pages, please see web APIs and DOM
• Continues our coverage of JavaScript's key fundamental features, turning our attention to
commonly-encountered types of code blocks such as conditional statements, loops, functions,
and events.
• The object-oriented nature of JavaScript is important to understand if you want to go further
with your knowledge of the language and write more efficient code, therefore we've provided
this module to help you.
• Discusses asynchronous JavaScript, why it is important, and how it can be used to effectively
handle potential blocking operations such as fetching resources from a server.
• Explores what APIs are, and how to use some of the most common APIs you'll come across
often in your development work.
• JavaScript frameworks are an essential part of modern front-end web development, providing
developers with proven tools for building scalable, interactive web applications. This module
gives you some fundamental background knowledge about how client-side frameworks work
and how they fit into your toolset, before moving on to a series of tutorials covering some of
today's most popular ones.
• An overview of the basic syntax and semantics of JavaScript for those coming from other
programming languages to get up to speed.
• Overview of available data structures in JavaScript.
• It provides three different value comparison operations: strict equality using ===, loose
equality using ==, and the Object() is method.
• How different methods that visit a group of object properties one-by-one handle the
enumerability and ownership of properties.
• A closure is the combination of a function and the lexical environment within which that
function was declared.
• JavaScript frameworks are an essential part of modern front-end web development, providing
developers with proven tools for building scalable, interactive web applications. This module
gives you some fundamental background knowledge about how client-side frameworks work
and how they fit into your toolset, before moving on to a series of tutorials covering some of
today's most popular ones.
• JavaScript is a lightweight, interpreted programming language.
• Designed for creating network-centric applications.
• Complementary to and integrated with Java.

7.4 INTRODUCTION TO HTML

HTML stands for Hyper Text Markup Language. It is used to design web pages using a markup
language. HTML is the combination of Hypertext and Markup language. Hypertext defines the link
between web pages. A markup language is used to define the text document within the tag which
defines the structure of web pages. This language is used to annotate (make notes for the computer)

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 23|Page


YOGA CLASS REGISTRATION SYSTEM

text so that a machine can understand it and manipulate text accordingly.


Most markup languages (e.g. HTML) are human-readable. The language uses tags to define what
manipulation has to be done on the text. HTML is a markup language used by the browser to
manipulate text, images, and other content, in order to display it in the required format. HTML was
created by Tim Berners-Lee in 1991. The first-ever version of

HTML was HTML 1.0, but the first standard version was HTML 2.0, published in 1995. Elements
and Tags: HTML uses predefined tags and elements which tell the browser how to properly display the
content. Remember to include closing tags. If omitted, the browser applies the effect of the opening tag
until the end of the page.

Features of HTML
• It is easy to learn and easy to use.
• It is platform-independent.
• Images, videos, and audio can be added to a web page.
• Hypertext can be added to the text.
• It is a markup language.
• HTML stands for Hyper Text Markup Language
• HTML is the standard markup language for creating Web pages
• HTML describes the structure of a Web page
• HTML consists of a series of elements
• HTML elements tell the browser how to display the content
• HTML elements label pieces of content such as "this is a heading", "this is a paragraph", "this is a
link", etc
"Hypertext" refers to links that connect web pages to one another, either within a single website or
between websites. Links are a fundamental aspect of the Web. By uploading content to the Internet
and linking it to pages created by other people, you become an active participant in the World Wide
Web.

7.5 XAMPP
XAMPP is an abbreviation where X stands for Cross-Platform, A stands for Apache, M stands for
MYSQL and the Ps stands for PHP and Perl, respectively. It is an open-source package of web solutions
that includes Apache distribution for many servers and command-line executables along with modules
such as Apache server, MariaDB, PHP, and Perl.

XAMPP helps a local host or server to test its website and clients via computers and laptops before
releasing it to the main server. It is a platform that furnishes a suitable environment to test and verify
the working of projects based on Apache, Perl, MySQL database, and PHP through the system of the
host itself. Among these technologies, Perl is a programming language used for web
development, PHP is a backend scripting language, and MariaDB is the most vividly used database
developed by MySQL. The detailed description of these components is given below.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 24|Page


YOGA CLASS REGISTRATION SYSTEM

XAMPP is supported in three file formats:

o .EXE- It is an extension used to denote executable files making it accessible to install because
an executable file can run on a computer as any normal program.
o .7z - 7zip file- This extension is used to denote compressed files that support multiple data
compression and encryption algorithms. It is more favoured by a formalist, although it requires
working with more complex files.
o .ZIP- This extension supports lossless compression of files. A Zipped file may contain multiple
compressed files. The Deflate algorithm is mainly used for compression of files supported by
this format. The .ZIP files are quite tricky to install as compared to .EXE.

 XAMPP is simply a local host or server.


 This local server runs on your personal computer, whether it’s a desktop or a laptop.
 It is used to test clients or websites before publishing them to a remote web server.
 On a local computer, the XAMPP server software provides a suitable environment for testing
MYSQL, PHP, Apache, and Perl projects. Because most real-world web server deployments
share the same components as XAMPP, moving from a local test server to a live server is
straightforward.

7.6 MySQL

MySQL is the world’s most popular open source database. According to DB-Engines, MySQL
ranks as the second-most-popular database, behind Oracle Database. MySQL powers many of the most
accessed applications, including Facebook, Twitter, Netflix, Uber, Airbnb, Shopify, and Booking.com.
Since MySQL is open source, it includes numerous features developed in close cooperation with users
over more than 25 years. So it’s very likely that your favorite application or programming language is
supported by MySQL Database.

Databases are the essential data repository for all software applications. For example, whenever
someone conducts a web search, logs in to an account, or completes a transaction, a database system is
storing the information so it can be accessed in the future.
A relational database stores data in separate tables rather than putting all the data in one big storeroom.
The database structure is organized into physical files optimized for speed. The logical data model, with
objects such as data tables, views, rows, and columns, offers a flexible programming environment. You
set up rules governing the relationships between different data fields, such as one to one, one to many,
unique, required, or optional, and “pointers” between different tables. The database enforces these rules
so that with a well-designed database your application never sees data that’s inconsistent, duplicated,
orphaned, out of date, or missing.

The “SQL” part of “MySQL” stands for “Structured Query Language.” SQL is the most
common standardized language used to access databases. Depending on your programming
environment, you might enter SQL directly (for example, to generate reports), embed SQL statements
into code written in another language, or use a language-specific API that hides the SQL syntax.

MySQL benefits

MySQL is fast, reliable, scalable, and easy to use. It was originally developed to handle large databases
quickly and has been used in highly demanding production environments for many years.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 25|Page


YOGA CLASS REGISTRATION SYSTEM

Although MySQL is under constant development, it offers a rich and useful set of functions. MySQL’s
connectivity, speed, and security make it highly suited for accessing databases on the internet.

MySQL’s key benefits include


• Ease of use: Developers can install MySQL in minutes, and the database is easy to manage.

• Reliability: MySQL is one of the most mature and widely used databases. It has been tested in
a wide variety of scenarios for more than 25 years, including by many of the world’s largest
companies. Organizations depend on MySQL to run business-critical applications because of its
reliability.

• Scalability: MySQL scales to meet the demands of the most accessed applications. MySQL’s
native replication architecture enables organizations such as Facebook to scale applications to
support billions of users.

• Performance: MySQL HeatWave is faster and less expensive than other database services, as
demonstrated by multiple standard industry benchmarks, including TPC-H, TPC-DS, and CH-
benCHmark.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 26|Page


YOGA CLASS REGISTRATION SYSTEM

SCREENSHOTS

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 27|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-8

SCREENSHOTS

8.1 Admin Modules

8.1.1 Login Page

Figure 8.1

8.1.2 Dashboard

Figure 8.2

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 28|Page


YOGA CLASS REGISTRATION SYSTEM

8.1.3 Category List

Figure 8.3

8.1.4 Class List

Figure 8.4

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 29|Page


YOGA CLASS REGISTRATION SYSTEM

8.1.5 Pages

Figure 8.5

8.1.6 Registration Requests

Figure 8.6

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 30|Page


YOGA CLASS REGISTRATION SYSTEM

8.1.7 Inquiries

Figure 8.7

8.1.8 User List

Figure 8.8

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 31|Page


YOGA CLASS REGISTRATION SYSTEM

8.1.9 System Information

Figure 8.9

8.2 User Modules


8.2.1 Home Page

Figure 8.10

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 32|Page


YOGA CLASS REGISTRATION SYSTEM

8.2.2 Classes

Figure 8.11

8.2.3 About Page

Figure 8.12

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 33|Page


YOGA CLASS REGISTRATION SYSTEM

8.2.4 Contact Us Page

Figure 8.13

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 34|Page


YOGA CLASS REGISTRATION SYSTEM

DATABASE

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 35|Page


YOGA CLASS REGISTRATION SYSTEM

Chapter-9

DATABASE

9.1 Users Database

Name Type
id int(50)
firstname varchar(250)
middlename Text
lastname varchar(250)
username Text
password Text
avatar Text
last_login Datetime
type tinyint(1)
date_created Datetime
date_updated Datetime

9.2 Class list Database

Name Type
id int(30)
category_id int(30)
name Text
description Text
instructor Text
fee float(12,2)
image_path Text
status tinyint(1)
delete_flag tinyint(1)
date_created Datetime
date_updated Datetime

9.3 System info Database

Name Type
id int(30)
meta_field Text
meta_value Text

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 36|Page


YOGA CLASS REGISTRATION SYSTEM

9.4 Inquiry Database

Name Type
id int(30)
fullname text
contact text
email text
subject text
message text
status tinyint(1)
date_created datetime
date_updated datetime

9.5 Registration Database

Name Type
id int(30)
code varchar(50)
class_id int(30)
fullname text
email text
dob date
sex varchar(50)
contact varchar(100)
address text
status tinyint(1)
delete_flag tinyint(1)
date_created datetime
date_updated datetime

9.6 Category Database

Name Type
id int(30)
name text
status tinyint(1)
delete_flag tinyint(1)
date_created datetime
date_updated datetime

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 37|Page


YOGA CLASS REGISTRATION SYSTEM

SOURCE CODE

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 38|Page


YOGA CLASS REGISTRATION SYSTEM

Chapter-10

SOURCE CODE

10.1 ADMIN SIDE CODE

10.1.1 ADMIN LOGIN CODE

<?php require_once('../config.php') ?>


<!DOCTYPE html>
<html lang="en" class="" style="height: auto;">
<?php require_once('inc/header.php') ?>
<body class="hold-transition login-page">
<script> start_loader()
</script>
<h1 class="text-center text-white px-4 py-5" id="page-title"><b><?php echo $_settings-
>info('name') ?></b></h1>
<div class="login-box">
<!-- /.login-logo -->
<div class="card card-navy my-2">
<div class="card-body">
<p class="login-box-msg">Please enter your credentials</p>
<form id="login-frm" action="" method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name="username" autofocus placeholder="Username">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" class="form-control" name="password" placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-8">
<a href="<?php echo base_url ?>">Go to Website</a>
</div>
<!-- /.col -->

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 39|Page


YOGA CLASS REGISTRATION SYSTEM

<div class="col-4">
<button type="submit" class="btn btn-primary bg-gradient-purple border-0 btn-block">Sign
In</button>
</div>
<!-- /.col -->
</div>
</form>
<!-- /.social-auth-links -->
<!-- <p class="mb-1">
<a href="forgot-password.html">I forgot my password</a>
</p> -->
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
<!-- /.login-box -->
<!-- jQuery -->
<script src="<?= base_url ?>plugins/jquery/jquery.min.js"></script>
<!-- Bootstrap 4 -->
<script src="<?= base_url ?>plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- AdminLTE App -->
<script src="<?= base_url ?>dist/js/adminlte.min.js"></script>
<script>
$(document).ready(function(){ end_loader();
})
</script>
</body>
</html>

10.1.2 DASHBOARD CODE

<h1>Welcome, <?php echo $_settings->userdata('firstname')." ".$_settings->userdata('lastname')


?>!</h1>
<hr>
<div class="row">
<div class="col-12 col-sm-6 col-md-6">
<div class="info-box">
<span class="info-box-icon bg-gradient-purple elevation-1"><i class="fas fa-boxes"></i></span>
<div class="info-box-content">
<span class="info-box-text">Active Categories</span>
<span class="info-box-number text-right h5">
<?php
$categories = $conn->query("SELECT * FROM category_list where `status` = 1 and delete_flag = 0")-
>num_rows;

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 40|Page


YOGA CLASS REGISTRATION SYSTEM

echo format_num($categories);
?>
<?php ?>
</span>
</div>
<!-- /.info-box-content -->
</div>
<!-- /.info-box -->
<!-- /.col -->
<div class="col-12 col-sm-6 col-md-6">
<div class="info-box">
<span class="info-box-icon bg-gradient-dark elevation-1"><i class="fas fa-praying-
hands"></i></span>
<div class="info-box-content">
<span class="info-box-text">Active Classes</span>
<span class="info-box-number text-right h5">
<?php

$classes = $conn->query("SELECT * FROM class_list where `status` = 1 and delete_flag = 0")-


>num_rows;
echo format_num($classes);
?>
<?php ?>
</span>
</div>
<!-- /.info-box-content -->
</div>
<!-- /.info-box -->
</div>
<!-- /.col -->
<div class="col-12 col-sm-6 col-md-6">
<div class="info-box">
<span class="info-box-icon bg-gradient-light elevation-1"><i class="fas fa-file-alt"></i></span>
<div class="info-box-content">
<span class="info-box-text">Registration Requests</span>
<span class="info-box-number text-right h5">
<?php
$registrations = $conn->query("SELECT id FROM registration_list where `status` = 1 and
`delete_flag` =0")->num_rows;
echo format_num($registrations);
?>
<?php ?>
</span>
</div>
<!-- /.info-box-content -->
</div>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 41|Page


YOGA CLASS REGISTRATION SYSTEM

<!-- /.info-box -->


</div>
<!-- /.col -->
<div class="col-12 col-sm-6 col-md-6">
<div class="info-box">
<span class="info-box-icon bg-gradient-primary elevation-1"><i class="fas fa-info- circle"></i></span>
<div class="info-box-content">
<span class="info-box-text">Inquiries</span>
<span class="info-box-number text-right h5">
<?php
$inquiry = $conn->query("SELECT id FROM inquiry_list")->num_rows; echo format_num($inquiry);
?>
<?php ?>
</span>
<!-- /.info-box-content -->
</div>
<!-- /.info-box -->
</div>
<!-- /.col -->
</div>
<div class="container">
<?php
$files = array();
$fopen = scandir(base_app.'uploads/banner'); foreach($fopen as $fname){
if(in_array($fname,array('.','..')))
continue;
$files[]= validate_image('uploads/banner/'.$fname);
}
?>
<div id="tourCarousel" class="carousel slide" data-ride="carousel" data-interval="3000">
<div class="carousel-inner h-100">
<?php foreach($files as $k => $img): ?>
<div class="carousel-item h-100 <?php echo $k == 0? 'active': '' ?>">
<img class="d-block w-100 h-100" style="object-fit:contain" src="<?php echo $img ?>"
alt="">
</div>
<?php endforeach; ?>
</div>
<a class="carousel-control-prev" href="#tourCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#tourCarousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 42|Page


YOGA CLASS REGISTRATION SYSTEM

</div>
</div>

10.1.3 CATEGORIES CODE

<?php if($_settings->chk_flashdata('success')): ?>


<script>
alert_toast("<?php echo $_settings->flashdata('success') ?>",'success')
</script>
<?php endif;?>
<div class="card card-outline rounded-0 card-navy">
<div class="card-header">
<h3 class="card-title">List of Categories</h3>
<div class="card-tools">
<a href="./?page=categories/manage_category" id="create_new" class="btn btn-flat btn- primary bg-
gradient-purple border-0"><span class="fas fa-plus"></span> Create New</a>
</div>
</div>
<div class="card-body">
<div class="container-fluid">
<div class="table-responsive">
<table class="table table-hover table-striped table-bordered table-sm" id="list">
<thead>
<tr>
<th>#</th>
<th>Date Created</th>
<th>Category</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$qry = $conn->query("SELECT * from `category_list` where delete_flag = 0 order
by `name` asc ");
?>
while($row = $qry->fetch_assoc()):
<tr>
<td class="text-center"><?php echo $i++; ?></td>
<td><?php echo date("Y-m-d H:i",strtotime($row['date_created'])) ?></td>
<td class=""><?= $row['name'] ?></td>
<td class="text-center">
<?php if($row['status'] == 1): ?>
<span class="badge badge-success px-3 rounded-pill">Active</span>
<?php else: ?>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 43|Page


YOGA CLASS REGISTRATION SYSTEM

<span class="badge badge-danger px-3 rounded-pill">Inactive</span>


<?php endif; ?>
</td>
<td align="center">
<button type="button" class="btn btn-flat p-1 btn-default btn-sm dropdown-
toggle dropdown-icon" data-toggle="dropdown">
Action
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu" role="menu">
<a class="dropdown-item" href="./?page=categories/view_category&id=<?php echo $row['id']
?>"><span class="fa fa-eye text- dark"></span> View</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="./?page=categories/manage_category&id=<?php echo $row['id']
?>"><span class="fa fa-edit text-primary"></span> Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item delete_data" href="javascript:void(0)" data- id="<?php echo $row['id']
?>"><span class="fa fa-trash text-danger"></span> Delete</a>
</div>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('.delete_data').click(function(){
_conf("Are you sure to delete this category permanently?","delete_category",[$(this).attr('data-
id')])
})
$('.table').dataTable({ columnDefs: [
{ orderable: false, targets: [2,6] }
],
order:[0,'asc']
});
$('.dataTable td,.dataTable th').addClass('py-1 px-2 align-middle')
})
function delete_category($id){ start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=delete_category", method:"POST",
data:{id: $id}, dataType:"json", error:err=>{
console.log(err)

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 44|Page


YOGA CLASS REGISTRATION SYSTEM

alert_toast("An error occured.",'error'); end_loader();


},
success:function(resp){
if(typeof resp== 'object' && resp.status == 'success'){ location.reload();
}else{
alert_toast("An error occured.",'error'); end_loader();
}
}
})
}
</script>

10.1.4 CLASSES CODE

<?php if($_settings->chk_flashdata('success')): ?>


<script>
alert_toast("<?php echo $_settings->flashdata('success') ?>",'success')
</script>
<?php endif;?>
<div class="card card-outline rounded-0 card-navy">
<div class="card-header">
<h3 class="card-title">List of Classes</h3>
<div class="card-tools">
<a href="./?page=classes/manage_class" id="create_new" class="btn btn-flat btn-primary bg- gradient-
purple border-0"><span class="fas fa-plus"></span> Create New</a>
</div>
</div>
<div class="card-body">
<div class="container-fluid">
<table class="table table-hover table-striped table-bordered" id="list">
<thead>
<tr>
<th>#</th>
<th>Date Created</th>
<th>Image</th>
<th>Class/Category</th>
<th>Description</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$qry = $conn->query("SELECT *, COALESCE((SELECT `name` from `category_list` where
`class_list`.`category_id` = `category_list`.`id` and `status` = 1 and `delete_flag` = 0), 'Category has

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 45|Page


YOGA CLASS REGISTRATION SYSTEM

been removed') as category_name from `class_list` where delete_flag = 0 order by `name` asc ");
while($row = $qry->fetch_assoc()):
?>
<tr>
<td class="text-center"><?php echo $i++; ?></td>
<td><?php echo date("Y-m-d H:i",strtotime($row['date_created'])) ?></td>
<td class="text-center">
<img src="<?= validate_image($row['image_path']) ?>" alt="" class="img-
thumbnail p-0 border class-img">
</td>
<td class="">
<div style="line-height:1em">
<div><?= $row['name'] ?></div>
<div><small class="text-muted"><?= $row['category_name']
?></small></div>
</div>
</td>
<td class=""><p class="mb-0 truncate-1"><?= strip_tags(htmlspecialchars_decode($row['description']))
?></p></td>
<td class="text-center">
<?php if($row['status'] == 1): ?>
<span class="badge badge-success px-3 rounded-pill">Active</span>
<?php else: ?>
<span class="badge badge-danger px-3 rounded-pill">Inactive</span>
<?php endif; ?>
</td>
<td align="center">
<button type="button" class="btn btn-flat p-1 btn-default btn-sm dropdown- toggle dropdown-icon"
data-toggle="dropdown">
Action
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu" role="menu">
<a class="dropdown-item" href="./?page=classes/view_class&id=<?php echo
$row['id'] ?>"><span class="fa fa-eye text-dark"></span> View</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="./?page=classes/manage_class&id=<?php echo $row['id'] ?>"><span
class="fa fa-edit text-primary"></span> Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item delete_data" href="javascript:void(0)" data- id="<?php echo $row['id']
?>"><span class="fa fa-trash text-danger"></span> Delete</a>
</div>
</td>
</tr>
<?php endwhile; ?>
</tbody>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 46|Page


YOGA CLASS REGISTRATION SYSTEM

</table>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('.delete_data').click(function(){
_conf("Are you sure to delete this class permanently?","delete_class",[$(this).attr('data-id')])
})
$('.table').dataTable({ columnDefs: [
{ orderable: false, targets: [2,6] }
],
order:[0,'asc']
});
$('.dataTable td,.dataTable th').addClass('py-1 px-2 align-middle')
})
function delete_class($id){ start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=delete_class", method:"POST",
data:{id: $id}, dataType:"json", error:err=>{
console.log(err)
alert_toast("An error occured.",'error'); end_loader();
},
success:function(resp){
if(typeof resp== 'object' && resp.status == 'success'){ location.reload();
}else{
alert_toast("An error occured.",'error'); end_loader();
}
}
})
}
</script>

10.1.5 MANAGE CLASSES CODE


<?php
if(isset($_GET['id']) && $_GET['id'] > 0){
$qry = $conn->query("SELECT * from `class_list` where id = '{$_GET['id']}' "); if($qry->num_rows >
0){
foreach($qry->fetch_assoc() as $k => $v){
$$k=$v;
}
}
}
?>
<div class="content py-5 px-3 bg-gradient-purple">

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 47|Page


YOGA CLASS REGISTRATION SYSTEM

<h2><b><?= isset($id) ? "Update Class Details" : "New Class Entry" ?></b></h2>


</div>
<div class="row mt-lg-n4 mt-md-n4 justify-content-center">
<div class="col-lg-10 col-md-10 col-sm-12 col-xs-12">
<div class="card rounded-0">
<div class="card-body">
<div class="container-fluid">
<form action="" id="class-form">
<input type="hidden" name ="id" value="<?php echo isset($id) ? $id : '' ?>">
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="category_id" class="control-label">Category</label>
<select name="category_id" id="category_id" class="form-control form-control-sm
rounded-0">
<option value="" disabled <?= !isset($category_id) ? "selected" : "" ?>></option>
<?php
$category_qry = $conn->query("SELECT * FROM `category_list` where `status`
= 1 and `delete_flag` = 0 ".(isset($category_id) ? " OR `category_id` = '{$category_id}'" : ""));
while($row = $category_qry->fetch_assoc()):
?>
<option value="<?= $row['id'] ?>" <?= isset($category_id) && $category_id ==
$row['id'] ? "selected" : "" ?>><?= $row['name'] ?>
<?php
if($row['delete_flag'] == 1){
echo " <em class='text-muted'>(Deleted)</em>";
}else if($row['status'] == 0){
echo " <em class='text-muted'>(Inactive)</em>";
}else{
}
?>
</option>
<?php endwhile; ?>
</select>
<required></required>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="name" class="control-label">Name</label>
<input type="text" name="name" id="name" class="form-control form-control-sm rounded-0"
value="<?php echo isset($name) ? $name : ''; ?>" required/>
</div>
<div class="form-group col-lg-12 col-md-12 col-sm-12 col-xs-12">
<label for="description" class="control-label">Description</label>
<textarea rows="3" name="description" id="description" class="form-control form- control-sm
rounded-0" required><?php echo isset($description) ? $description : ''; ?></textarea>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="instructor" class="control-label">Instructor</label>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 48|Page


YOGA CLASS REGISTRATION SYSTEM

<input type="text" name="instructor" id="instructor" class="form-control form- control-sm rounded-0"


value="<?php echo isset($instructor) ? $instructor : ''; ?>" required/>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="fee" class="control-label">Fee</label>

<input type="number" step="any" name="fee" id="fee" class="form-control form- control-sm rounded-


0 text-right" value="<?php echo isset($fee) ? $fee : 0; ?>" required/>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="status" class="control-label">Status</label>
<select name="status" id="status" class="form-control form-control-sm rounded-0"
required="required">
<option value="1" <?= isset($status) && $status == 1 ? 'selected' : ''
?>>Active</option>
<option value="0" <?= isset($status) && $status == 0 ? 'selected' : ''
?>>Inactive</option>
</select>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="status" class="control-label">Thumbnail</label>
<div class="custom-file custom-file-sm">
<input type="file" class="custom-file-input rounded-0" id="customFile1" name="img"
onchange="displayImg(this)">
<label class="custom-file-label" for="customFile1">Choose file</label>
</div>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<img src="<?php echo validate_image(isset($image_path) ? $image_path : '') ?>" alt="" id="cimg"
class="img-fluid img-thumbnail">
</div>
</form>
</div>
</div>
<div class="card-footer py-1 text-center">
<button class="btn btn-primary btn-sm bg-gradient-purple btn-flat border-0" form="class- form"><i
class="fa fa-save"></i> Save</button>
<a class="btn btn-light btn-sm bg-gradient-light border btn-flat" href="./?page=classes"><i class="fa fa-
times"></i> Cancel</a>
</div>
</div>
</div>
</div>
<script>
function displayImg(input) {
if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) {

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 49|Page


YOGA CLASS REGISTRATION SYSTEM

$('#cimg').attr('src', e.target.result);
$(input).siblings('.custom-file-label').html(input.files[0].name)
}
reader.readAsDataURL(input.files[0]);
}else{
$('#cimg').attr('src', "<?php echo validate_image(isset($image_path) ? $image_path : '') ?>");
$(input).siblings('.custom-file-label').html('Choose file')
}
}
$(document).ready(function(){
$('#category_id').select2({
placeholder: "Please Select Category Here", containerCssClass: 'rounded-0'
})
$('#description').summernote({ height: '20em',
toolbar: [
[ 'style', [ 'style' ] ],
[ 'font', [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear'] ], [ 'fontname', [
'fontname' ] ],
[ 'fontsize', [ 'fontsize' ] ],
[ 'color', [ 'color' ] ],
[ 'para', [ 'ol', 'ul', 'paragraph', 'height' ] ],
[ 'table', [ 'table', 'picture', 'video' ] ],
[ 'view', [ 'undo', 'redo', 'fullscreen', 'help' ] ]
]
})
$('#class-form').submit(function(e){ e.preventDefault();
var _this = $(this)
$('.err-msg').remove(); start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=save_class", data: new FormData($(this)[0]),
cache: false, contentType: false, processData: false, method: 'POST', type: 'POST', dataType: 'json',
error:err=>{
console.log(err)
alert_toast("An error occured",'error'); end_loader();
},
success:function(resp){
if(typeof resp =='object' && resp.status == 'success'){
location.replace('./?page=classes/view_class&id='+resp.sid)
}else if(resp.status == 'failed' && !!resp.msg){ var el = $('<div>')
el.addClass("alert alert-danger err-msg").text(resp.msg)
_this.prepend(el) el.show('slow')
$("html, body").scrollTop(0); end_loader()
}else{
alert_toast("An error occured",'error'); end_loader();
console.log(resp)
}

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 50|Page


YOGA CLASS REGISTRATION SYSTEM

}
})
})
})
</script

10.1.6 MANAGE CATEGORIES CODE

<?php
if(isset($_GET['id']) && $_GET['id'] > 0){
$qry = $conn->query("SELECT * from `category_list` where id = '{$_GET['id']}' ");
if($qry->num_rows > 0){
foreach($qry->fetch_assoc() as $k => $v){
$$k=$v;
}
}
}
?>
<div class="content py-5 px-3 bg-gradient-purple">
<h2><b><?= isset($id) ? "Update Category Details" : "New Category Entry" ?></b></h2>
</div>
<div class="row mt-lg-n4 mt-md-n4 justify-content-center">
<div class="col-lg-10 col-md-10 col-sm-12 col-xs-12">
<div class="card rounded-0">
<div class="card-body">
<div class="container-fluid">
<form action="" id="category-form">
<input type="hidden" name ="id" value="<?php echo isset($id) ? $id : '' ?>">
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="name" class="control-label">Name</label>
<input type="text" name="name" id="name" class="form-control form-control-sm rounded-0"
value="<?php echo isset($name) ? $name : ''; ?>" required/>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label for="status" class="control-label">Status</label>
<select name="status" id="status" class="form-control form-control-sm rounded-0"
required="required">
<option value="1" <?= isset($status) && $status == 1 ? 'selected' : ''
?>>Active</option>
<option value="0" <?= isset($status) && $status == 0 ? 'selected' : ''
?>>Inactive</option>
</select>
</div>
</form>
</div>
</div>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 51|Page


YOGA CLASS REGISTRATION SYSTEM

<div class="card-footer py-1 text-center">


<button class="btn btn-primary btn-sm bg-gradient-purple btn-flat border-0" form="category-form"><i
class="fa fa-save"></i> Save</button>
<a class="btn btn-light btn-sm bg-gradient-light border btn-flat" href="./?page=categories"><i class="fa
fa-times"></i> Cancel</a>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#category-form').submit(function(e){ e.preventDefault();
var _this = $(this)
$('.err-msg').remove(); start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=save_category", data: new FormData($(this)[0]),
cache: false, contentType: false, processData: false, method: 'POST', type: 'POST', dataType: 'json',
error:err=>{
console.log(err)
alert_toast("An error occured",'error'); end_loader();
},
success:function(resp){
if(typeof resp =='object' && resp.status == 'success'){
location.replace('./?page=categories/view_category&id='+resp.cid)
}else if(resp.status == 'failed' && !!resp.msg){ var el = $('<div>')
el.addClass("alert alert-danger err-msg").text(resp.msg)
_this.prepend(el) el.show('slow')
$("html, body").scrollTop(0); end_loader()
}else{
alert_toast("An error occured",'error'); end_loader();
console.log(resp)
}
}
})
})
})
</script>

10.1.7 INQUIRIES CODE

<?php if($_settings->chk_flashdata('success')): ?>


<script>
alert_toast("<?php echo $_settings->flashdata('success') ?>",'success')
</script>
<?php endif;?>
<div class="card card-outline rounded-0 card-navy">

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 52|Page


YOGA CLASS REGISTRATION SYSTEM

<div class="card-header">
<h3 class="card-title">List of Classes</h3>
<div class="card-tools">
<a href="./?page=classes/manage_class" id="create_new" class="btn btn-flat btn-primary bg- gradient-
purple border-0"><span class="fas fa-plus"></span> Create New</a>
</div>
</div>
<div class="card-body">
<div class="container-fluid">
<table class="table table-hover table-striped table-bordered" id="list">
<thead>
<tr>
<th>#</th>
<th>Date Created</th>
<th>Image</th>
<th>Class/Category</th>
<th>Description</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$qry = $conn->query("SELECT *, COALESCE((SELECT `name` from `category_list` where
`class_list`.`category_id` = `category_list`.`id` and `status` = 1 and `delete_flag` = 0), 'Category has
been removed') as category_name from `class_list` where delete_flag = 0 order by `name` asc ");
while($row = $qry->fetch_assoc()):
?>
<tr>
<td class="text-center"><?php echo $i++; ?></td>
<td><?php echo date("Y-m-d H:i",strtotime($row['date_created'])) ?></td
<td class="text-center">
<img src="<?= validate_image($row['image_path']) ?>" alt="" class="img-
thumbnail p-0 border class-img">
</td>
<td class="">
<div style="line-height:1em">
<div><?= $row['name'] ?></div>
<div><small class="text-muted"><?= $row['category_name']
?></small></div>
</div>
</td>
<td class=""><p class="mb-0 truncate-1"><?= strip_tags(htmlspecialchars_decode($row['description']))
?></p></td>
<td class="text-center">

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 53|Page


YOGA CLASS REGISTRATION SYSTEM

<?php if($row['status'] == 1): ?>


<span class="badge badge-success px-3 rounded-pill">Active</span>
<?php else: ?>
<span class="badge badge-danger px-3 rounded-pill">Inactive</span>
<?php endif; ?>
</td>
<td align="center">
<button type="button" class="btn btn-flat p-1 btn-default btn-sm dropdown- toggle dropdown-icon"
data-toggle="dropdown">
Action
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu" role="menu">
<a class="dropdown-item" href="./?page=classes/view_class&id=<?php echo
$row['id'] ?>"><span class="fa fa-eye text-dark"></span> View</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="./?page=classes/manage_class&id=<?php echo $row['id'] ?>"><span
class="fa fa-edit text-primary"></span> Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item delete_data" href="javascript:void(0)" data- id="<?php echo $row['id']
?>"><span class="fa fa-trash text-danger"></span> Delete</a>
</div>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('.delete_data').click(function(){
_conf("Are you sure to delete this class permanently?","delete_class",[$(this).attr('data-id')])
})
$('.table').dataTable({ columnDefs: [
{ orderable: false, targets: [2,6] }
],
order:[0,'asc']
});
$('.dataTable td,.dataTable th').addClass('py-1 px-2 align-middle')
})
function delete_class($id){ start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=delete_class", method:"POST",
data:{id: $id}, dataType:"json", error:err=>{

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 54|Page


YOGA CLASS REGISTRATION SYSTEM

console.log(err)
alert_toast("An error occured.",'error'); end_loader();
},
success:function(resp){
if(typeof resp== 'object' && resp.status == 'success'){ location.reload();
}else{
alert_toast("An error occured.",'error'); end_loader();
}
}
})
}
</script>

10.1.8 REGISTRATION CODE

<?php if($_settings->chk_flashdata('success')): ?>


<script>
alert_toast("<?php echo $_settings->flashdata('success') ?>",'success')
</script>
<?php endif;?>
<div class="card card-outline rounded-0 card-navy">
<div class="card-header">
<h3 class="card-title">List of Registration Requests</h3>
</div>
<div class="card-body">
<div class="container-fluid">
<div class="table-responsive">
<table class="table table-hover table-striped table-bordered" id="list">
<thead>
<tr>
<th>#</th>
<th>Date Created</th>
<th>Code</th>
<th>Name</th>
<th>Class</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$qry = $conn->query("SELECT *, COALESCE((SELECT `name` FROM
`class_list` where `registration_list`.`class_id` = `class_list`.`id` and `status` = 1 and `delete_flag` = 0),
'Class has been deleted') as `class_name` from `registration_list` order by `status` asc,

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 55|Page


YOGA CLASS REGISTRATION SYSTEM

abs(unix_timestamp(date_created)) desc ");


while($row = $qry->fetch_assoc()):
?>
<tr>
<td class="text-center"><?php echo $i++; ?></td>
<td><?php echo date("Y-m-d H:i",strtotime($row['date_created'])) ?></td>
<td><?php echo $row['code'] ?></td>
<td><?php echo $row['fullname'] ?></td>
<td><?php echo $row['class_name'] ?></td>
<td class="text-center">
<?php if($row['status'] == 1): ?>
<span class="badge badge-primary px-3 rounded-pill">Confirmed</span>
<?php else: ?>
<span class="badge badge-light border px-3 rounded-pill">Pending</span>
<?php endif; ?>
</td>
<td align="center">
<button type="button" class="btn btn-flat p-1 btn-default btn-sm dropdown-
toggle dropdown-icon" data-toggle="dropdown">
Action
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu" role="menu">
<a class="dropdown-item" href="./?page=registrations/view_registration&id=<?php echo $row['id']
?>"><span class="fa fa-eye text-dark"></span> View</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item delete_data" href="javascript:void(0)" data- id="<?php echo $row['id']
?>"><span class="fa fa-trash text-danger"></span> Delete</a>
</div>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('.delete_data').click(function(){
_conf("Are you sure to delete this Registration permanently?","delete_registration",[$(this).attr('data-
id')])

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 56|Page


YOGA CLASS REGISTRATION SYSTEM

})
$('.table').dataTable({ columnDefs: [
{ orderable: false, targets: [5] }
],
order:[0,'asc']
});
$('.dataTable td,.dataTable th').addClass('py-1 px-2 align-middle')
})
function delete_registration($id){ start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=delete_registration", method:"POST",
data:{id: $id}, dataType:"json", error:err=>{
console.log(err)
alert_toast("An error occured.",'error'); end_loader();
},
success:function(resp){
if(typeof resp== 'object' && resp.status == 'success'){ location.reload();
}else{
alert_toast("An error occured.",'error'); end_loader();
}
}
})
}
</script>

10.2 USER SIDE CODE

10.2.1 HOME PAGE CODE

<section class="py-3">
<div class="container">
<div class="row">
<div class="col-md-12">
<div id="carouselExampleControls" class="carousel slide bg-dark" data-ride="carousel">
<div class="carousel-inner">
<?php
$upload_path = "uploads/banner"; if(is_dir(base_app.$upload_path)):
$file= scandir(base_app.$upload_path);
$_i = 0;
foreach($file as $img): if(in_array($img,array('.','..')))
continue;
$_i++;
?>
<div class="carousel-item h-100 <?php echo $_i == 1 ? "active" : '' ?>">
<img src="<?php echo validate_image($upload_path.'/'.$img) ?>" class="d-block w- 100 h-100"

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 57|Page


YOGA CLASS REGISTRATION SYSTEM

alt="<?php echo $img ?>">


</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<button class="carousel-control-prev" type="button" data- target="#carouselExampleControls" data-
slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data- target="#carouselExampleControls" data-
slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
<div class="row justify-content-center mt-n3">
<div class="col-lg-10 col-md-11 col-sm-11 col-sm-11">
<div class="card card-outline rounded-0">
<div class="card-body">
<div class="container-fluid">
<?= htmlspecialchars_decode(file_get_contents('welcome.html')) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</section>

10.2.2 ABOUT PAGE CODE

<section class="py-5">
<div class="container">
<div class="card rounded-0">
<div class="card-body">
<?= htmlspecialchars_decode(file_get_contents('./about.html')) ?>
</div>
</div>
</div>
</section>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 58|Page


YOGA CLASS REGISTRATION SYSTEM

10.2.3 CONTACT PAGE CODE

<style>
.carousel-item>img{
object-fit:cover !important;
}
#carouselExampleControls .carousel-inner{ height:25em !important;
}
</style>
<div class="container">
<div class="content">
<div id="carouselExampleControls" class="carousel slide bg-dark" data-ride="carousel">
<div class="carousel-inner">
<?php
$upload_path = "uploads/banner"; if(is_dir(base_app.$upload_path)):
$file= scandir(base_app.$upload_path);
$_i = 0;
foreach($file as $img): if(in_array($img,array('.','..')))
continue;
$_i++;
?>
<div class="carousel-item h-100 <?php echo $_i == 1 ? "active" : '' ?>">
<img src="<?php echo validate_image($upload_path.'/'.$img) ?>" class="d-block w- 100 h-100"
alt="<?php echo $img ?>">
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<button class="carousel-control-prev" type="button" data-target="#carouselExampleControls" data-
slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleControls" data-
slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
<div class="row mt-lg-n4 mt-md-n4 justify-content-center">
<div class="col-lg-5 col-md-5 col-sm-12 col-xs-12 mb-3">
<div class="card rounded-0">
<div class="card-body">
<h3 class="text-center"><b>Contact Us</b></h3>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 59|Page


YOGA CLASS REGISTRATION SYSTEM

<center><hr style="height:2px;width:5em;opacity:1" class="bg-primary"></center>


<dl>
<dt class="text-muted">Email</dt>
<dd class="pl-3"><?= $_settings->info('email') ?></dd>
<dt class="text-muted">Telephone #</dt>
<dd class="pl-3"><?= $_settings->info('phone') ?></dd>
<dt class="text-muted">Mobile #</dt>
<dd class="pl-3"><?= $_settings->info('mobile') ?></dd>
<dt class="text-muted">Address</dt>
<dd class="pl-3"><?= $_settings->info('address') ?></dd>
</dl>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 mb-3">
<div class="card rounded-0">
<div class="card-body">
<h3 class="text-center"><b>Send Us a Message</b></h3>
<center><hr style="height:2px;width:5em;opacity:1" class="bg-primary"></center>
<form id="inquiry-form">
<input type="hidden" name="id" value="">
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label for="fullname" class="control-label">Fullname <small class="text- danger">*</small></label>
<input type="text" name="fullname" id="fullname" pattern="[a-zA-Z]{1,}" minlength="3"
maxlength="15" class="form-control form-control-sm rounded-0" required="true">
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label for="contact" class="control-label">Contact # <small class="text- danger">*</small></label>
<input type="text" name="contact" id="contact" pattern="[0-9]{1,}" minlength="10" maxlength="10"
class="form-control form-control-sm rounded-0" required="true">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label for="email" class="control-label">Email</label>
<input type="email" name="email" id="email" pattern="/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-
9+&@#\/%?=~_|!:,.;]*[-a-z0- 9+&@#\/%=~_|]/i" class="form-control form-control-sm rounded-0"
required="true">
</div>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 60|Page


YOGA CLASS REGISTRATION SYSTEM

</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label for="subject" class="control-label">Subject</label>
<input type="text" name="subject" id="subject" class="form-control form- control-sm rounded-0">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="form-group">
<label for="message" class="control-label">Message</label>
<textarea rows="3" name="message" id="message" class="form-control form- control-sm rounded-
0"></textarea>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-6 col-md-8 col-sm-12 col-xs-12">
<button class="btn btn-primary border-0 btn-block rounded-pill btn-lg bg- gradient-purple"><i class="fa
fa-paper-plane"></i> Send Message</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script>
$(function(){
$('#inquiry-form').submit(function(e){ e.preventDefault();
var _this = $(this)
$('.err-msg').remove(); start_loader();
$.ajax({
url:_base_url_+"classes/Master.php?f=save_inquiry", data: new FormData($(this)[0]),
cache: false, contentType: false, processData: false,
method: 'POST', type: 'POST', dataType: 'json', error:err=>{
console.log(err)
alert_toast("An error occured",'error'); end_loader();
},
success:function(resp){
if(typeof resp =='object' && resp.status == 'success'){ location.reload()
}else if(resp.status == 'failed' && !!resp.msg){ var el = $('<div>')
el.addClass("alert alert-danger err-msg").text(resp.msg)

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 61|Page


YOGA CLASS REGISTRATION SYSTEM

_this.prepend(el) el.show('slow')
$("html, body").scrollTop(0); end_loader()
}else{
alert_toast("An error occured",'error'); end_loader();
console.log(resp)
}
}
})
})
})
</script>

10.2.4 PAGES CODE

<?php if($_settings->chk_flashdata('success')): ?>


<script>
alert_toast("<?php echo $_settings->flashdata('success') ?>",'success')
</script>
<?php endif;?>
<div class="content py-5 px-3 bg-gradient-purple">
<h2><b>About Content</b></h2>
</div>
<div class="row mt-lg-n4 mt-md-n4 justify-content-center">
<div class="col-lg-10 col-md-11 col-sm-12 col-xs-12">
<div class="card rounded-0 shadow">
<div class="card-body">
<form action="" id="system-frm">
<div id="msg" class="form-group"></div>
<div class="form-group">
<label for="" class="control-label">About Content</label>
<textarea name="content[about]" id="" cols="30" rows="2" class="form-control summernote"><?php
echo is_file(base_app.'about.html') ? file_get_contents(base_app.'about.html') : "" ?></textarea>
</div>
</form>
</div>
<div class="card-footer">
<div class="col-md-12">
<div class="row">
<button class="btn btn-sm btn-primary btn-flat bg-gradient-purple border-0" form="system-
frm">Update</button>
</div>
</div>
</div>
</div>
</div>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 62|Page


YOGA CLASS REGISTRATION SYSTEM

</div>
<script>
$(function(){
$('.summernote').summernote({ height: '30em',
toolbar: [
[ 'style', [ 'style' ] ],
[ 'font', [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear'] ], [ 'fontname', [
'fontname' ] ],
[ 'fontsize', [ 'fontsize' ] ],
[ 'color', [ 'color' ] ],
[ 'para', [ 'ol', 'ul', 'paragraph', 'height' ] ],
[ 'table', [ 'table', 'picture', 'video' ] ],
[ 'view', [ 'undo', 'redo', 'fullscreen', 'help' ] ]
]
})
})
</script>

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 63|Page


YOGA CLASS REGISTRATION SYSTEM

TESTING

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 64|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-11

TESTING

11.1 TESTING PURPOSE

Software Testing has different goals and objectives. The major objectives of Software testing
areas are as follows:
 Finding defects which may get created by the programmer while developing the software.
 To prevent defects.
 To make sure that the end result meets the business and user requirements.
 To ensure that it satisfies the BRS that is Business Requirement Specification and SRS that
is System Requirement Specifications.
 To gain the confidence of the customers by providing the quality product.

Software testing is performed to verify that the completed software package functions
according to the expectations defined by the requirements/specifications. The overall objective
to not to find every software bug that exists, but to uncover situations that could negatively
impact the customer, usability and/or maintainability.

From the module level to the application level, this article defines the different types of testing.
Depending upon the purpose for testing and the software requirements/specs,a combination of
testing methodologies is applied.

11.2 LEVELS OF TESTING

There are four levels of software testing.

1. Unit Testing

It is a level of the software testing process where individual units/components of a


software/system are tested. The purpose is to validate that each unit of the software performs
as designed.

2. Integration Testing

It is a level of the software testing process where individual units are combined and tested as a
group. The purpose of this level of testing is to expose faults in the interaction between
integrated units.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 65|Page


YOGA CLASS REGISTRATION SYSTEM

3. System Testing

It is a level of the software testing process where a complete, integrated system/software is


tested. The purpose of this test is to evaluate the system’s compliance with the specified
requirements.

4. Acceptance Testing

It is a level of the software testing process where a system is tested for acceptability. The
purpose of this test is to evaluate the system’s compliance with the business requirements and
assess whether it is acceptable for delivery.

Figure 11.1

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 66|Page


YOGA CLASS REGISTRATION SYSTEM

11.3 TYPES OF TESTING

 White box testing

It is a software testing method in which the internal structure/ design/


implementation of the item being tested is known to the tester. The tester chooses
inputs to exercise paths through the code and determines the appropriate outputs.
Programming know-how and the implementation knowledge is essential. This
method is named so because the software program, in the eyes of the tester, is like
a white/ transparent box; inside which one clearly sees. Internals of software and
code working should be known for this type of testing. Tests are based on
coverage of code statements, branches, paths, conditions. Also known as
structural testing and Glass box Testing.

 Black box testing

Internal system design is not considered in this type of testing. Tests are based on
requirements and functionality. This method is named so because the software
program, in the eyes of the tester, is like a black box; inside which one cannot
see. Black box testing is a testing technique that ignores the internal mechanism
of the system and focuses on the output generated against any input and execution
of the system. It is also called functional testing.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 67|Page


YOGA CLASS REGISTRATION SYSTEM

VALIDATION

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 68|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-12

VALIDATION

Validation is process of examining whether or not the software satisfies the user requirements.
It is carried out at the end of the SDLC. If the software matches requirements for which it was made, it
is validated.
• Validation ensures the product under development is as per the user requirements.
• Validation answers the question - "Are we developing the product which attempts that entire user
needs from this software?"
• Validation emphasizes on user requirements.

12.1 SOFTWARE VERIFICATION

Verification is the process of confirming if the software is meeting the business requirements,
and is developed adhering to the proper specifications and methodologies.
• Verification ensures the product being developed is according to design specifications.
• Verification answers the question- "Are we developing this product by firmly following all design
specifications?"
• Verifications concentrate on the design and system specifications. Targets of the test are • Errors-
These are actual coding mistakes made by developers. In addition, there is a difference in output of
software and desired output, is considered as an error.
• Fault-When error exists fault occurs. A fault, also known as a bug, is a result of an error which can
cause system to fail.
• Failure-Failure is said to be the inability of the system to perform the desired task. Failure occurs when
fault exists in the system.

12.2 VALIDATION TESTING

The process of evaluating software during the development process or at the end of the
development process to determine whether it satisfies specified business requirements. Validation
Testing ensures that the product actually meets the client's needs. It can also be defined as to
demonstrate that the product fulfils its intended use when deployed on appropriate user requirement .

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 69|Page


YOGA CLASS REGISTRATION SYSTEM

FUTURE
ENHANCEMENT

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 70|Page


YOGA CLASS REGISTRATION SYSTEM

Chapter -13

FUTURE ENHANCEMENT
In the future, there are several enhancements that could be implemented to improve a yoga
class registration system. Here are some ideas:

 Waitlist Management: Implement a waitlist feature that allows users to join a waitlist when a
class is fully booked. If a spot becomes available due to a cancellation, the system can automatically
notify the next person on the waitlist, offering them the opportunity to register.

 Class Reminders and Notifications: Send automated reminders and notifications to


registered participants before their scheduled classes. These reminders can be delivered via email, SMS,
or even through a mobile app, helping to reduce no-shows and keeping participants informed about any
updates or changes to their classes.

 Waitlist Integration with Calendar: Integrate the waitlist feature with popular calendar
applications, such as Google Calendar or iCal. This allows participants to automatically add their
waitlisted classes to their personal calendars and receive reminders about their waitlist status.

 Class Ratings and Feedback: Enable participants to provide ratings and feedback for the
classes they attend. This feedback can help improve the overall quality of the classes and provide
valuable insights for both instructors and other potential participants.

 Customized User Profiles: Allow users to create personalized profiles within the registration
system. Participants can provide information such as their fitness level, preferences for specific yoga
styles or instructors, and any relevant medical conditions or injuries. This data can be used to suggest
suitable classes and provide tailored recommendations for each individual.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 71|Page


YOGA CLASS REGISTRATION SYSTEM

CONCLUSION

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 72|Page


YOGA CLASS REGISTRATION SYSTEM

CHAPTER-14

CONCLUSION

In conclusion, implementing a yoga class registration system offers numerous benefits and
improvements for both yoga instructors and participants. The system streamlines the registration
process, making it efficient and convenient for individuals to sign up for classes. By automating the
registration process, instructors can save time and focus on delivering high-quality yoga sessions. The
registration system provides participants with a user-friendly platform to browse and select from a
variety of yoga classes based on their preferences, schedules, and skill levels. It allows them to easily
view class availability, register for classes in advance, and receive automated reminders to ensure they
don't miss any sessions. This enhances the overall experience for participants by providing them with
flexibility and control over their yoga practice.

Moreover, the yoga class registration system enables instructors to effectively manage class
sizes, ensuring that they can maintain an optimal student-to-teacher ratio for a personalized experience.
Additionally, the registration system facilitates secure payment processing, eliminating the need for
manual handling of cash or checks. Participants can make online payments easily and securely,
providing a hassle-free transaction experience for both parties.

Overall, the implementation of a yoga class registration system enhances the efficiency,
convenience, and overall experience for both yoga instructors and participants. It simplifies the
registration process, improves communication, and provides valuable data insights, ultimately
contributing to the growth and success of the yoga community.

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 73|Page


YOGA CLASS REGISTRATION SYSTEM

BIBLIOGRAPHY

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 74|Page


YOGA CLASS REGISTRATION SYSTEM

BIBLIOGRAPHY

1. The Joy of PHP Programming: A Beginner’s Guide to Programming Interactive Web


Applications with PHP and MySQL.
2. PHP: A Beginners Guide – By Vikram Vaswanni.
3. Murach’s PHP and MySQL – By Joel Murach and Ray Harris.
4. The Joy of PHP Programming: A Beginners Guide – By Alan Forbes
5. PHP and MY SQL – Novice to Ninja
6. Learning PHP, MySQL and JavaScript – By Robin Nixon.
7. Headfirst PHP and MySQL – By Lynn Beighley.
8. PHP for the Web: Visual QuickStart Guide – By Larry Ullman.
9. Online Banking and it’s role in todays society-By Veneeva. V
10.Fundamentals of database-By Elmasri Navathe.

Websites
1. http://www.w3school.org- PHP Tutorial
2. www.freecodecamp.org-free PHP Tutorial
3. www.tutorialspoint.com-PHP Tutorial
4. http://github.com
5. http://www.codeacademy.com
6. http://www.geeksforgeeks.or

DEPARTMENT OF COMPUTER APPLICATIONS-RNSFGC 75|Page

You might also like