Report Draft1

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 72

Government of Karnataka

Department of Collegiate Education


GOVERNMENT FIRST GRADE COLLEGE SORAB
Affiliated to KUVEMPU UNIVERSITY

A
PROJECT REPORT
ON

“G.F.G.C SORAB BCA NOTES GALLERY”

Submitted in the partial fulfillment of


For the award of degree of
BACHELOR COMPUTER APPLICATION-BCA

SUBMITTED BY,
Mr. G Darshankumar - UO6GO21S0006

Lecturer
Department of Computer Applications -BCA
Government First Grade College, Sorab -577429, Shivamogga
VI SEMESTER BCA

UNDER THE GUIDANCE OF


Mr. Ravikumar Hegde M.C.A, Ph.D.

2023-24
KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


SORAB - 577429
A
PROJECT REPORT
ON

“G.F.G.C SORAB BCA NOTES GALLERY”


Submitted in the partial fulfillment of
For the award of degree of

BACHELOR COMPUTER APPLICATION-BCA


VI SEMESTER
SUBMITTED BCA
BY,

Mr.UNDER THE GUIDENCE


G Darshankumar OF
- UO6GO21S0006
Mr. RAVIKUMAR HEGDE M.C.A,

Lecturer
2023-24
Department of Computer Applications -BCA
Government First Grade College, Sorab -577429, Shivamogga
KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


SORAB - 577429

CERTIFICATE

This is to certify that G Darshankumar, of 6th Semester BCA, Department Of B.C.A has
successfully carried out by the project work entitled “G.F.G.C SORAB BCA NOTES GALLERY” in
partial fulfillment for the Award of Degree of Bachelor Of Computer Applications from the department of
B.C.A, Government First Grade College Sorab–577429, Shivamogga presented by the Kuvempu
University during the year 2023 – 24

Project Guide Principal


w1ww

Mr. Ravikumar Hegde M.C.A,

Ph.D
Lecturer
Department of BCA
Government First Grade College,
Sorab -577429, Shivamogga
KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


SORAB - 577429

DECLARATION

I hereby declare that matter embodied in the project entitled


“G.F.G.C SORAB BCA NOTES GALLERY” is carried out by me under the guidance and supervision
of Mr. RAVIKUMAR HEGDE Department of B.C.A, Government First Grade College, Sorab.

I am submitting this project report in the partial fulfillment of the requirements for the Award of
Bachelor of Computer Applications by the Kuvempu University during 2023-2024.

I further declare that dissertation or any part of this work has not been submitted elsewhere, for
any other degree or any other university/institute.

Project Associate

G Darshankumar
UO6GO21S0006

Date:
Place:
KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


SORAB - 577429

ACKNOWLEDGEMENT

With a great pleasure, I take an opportunity to express our deep sense of gratitude and heartfelt
thanks to several individuals from whom I received impetus of project work.

We express our heartfelt thanks to Dr. VISHWANATH, Principal and our Special thanks to our
project guide Mr. Ravikumar Hegde,Lecturer of Computer Applications – B.C.A, Government First
Grade College, Sorab – 577429, Shivamogga for his valuable suggestions, and guidance throughout the
project.
DEDICATED TO

OUR PARENTS, BELOVED ALL TEACHERS,


ALL NON-TEACHING STAFF,
FAMILY AND FRIENDS
ABSTRACT:

G.F.G.C Sorab BCA Notes Gallery is a comprehensive, web-based notes


sharing and management system designed to facilitate seamless and efficient
note distribution among students and teachers. This innovative platform
eliminates the inefficiencies of manual note distribution, transforming
traditional paperwork into a fully automated and managed online system. By
doing so, it significantly reduces time wastage and enhances the accessibility
and availability of educational materials.

G.F.G.C Sorab BCA Notes Gallery empowers users to securely register and
log in to their individual accounts, providing functionalities to create, read,
update, and delete notes as per their requirements. The system ensures that
notes are distributed in a highly secure manner, protecting the integrity and
confidentiality of the content. Multiple users can simultaneously interact with
the platform under the centralized supervision of an administrator, ensuring
smooth and coordinated operation.

This powerful notes management system is an invaluable tool for Colleges,


Schools, and other Educational Institutes. It enhances the efficiency of note
sharing, fosters collaboration, and ensures that educational resources are
available to everyone in a secure, effective, and user-friendly environment.
By leveraging the G.F.G.C Sorab BCA Notes Gallery, institutions can
streamline their note-sharing processes, promote better learning experiences,
and ultimately, contribute to the academic success of their students.
Table of Contents

Acknowledgment

Abstract

CHAPTER 1. INTRODUCTION…………………………………………………………1
1.1 Problem Statement………………………………………………………………………2
1.2 Proposed System………………………………………………………………………...3
1.3 Objectives………………………………………………………………………………..5
1.4 Modification and Improvement Over the Existing Implementation……………………..6
1.5 Scope……………………………………………………………………………………..7

CHAPTER 2. REQUIREMENT ANALYSIS……………………………………………..8


2.1 Initial Investigation……………………………………………………………………….8
2.2 InformatioGathering………………………………………………………………………9
2.3 Feasibilit Study…………………………………………………………………………..10
2.4 Existing System………………………………………………………………………….11
2.5 Proposed System…………………………………………………………………………11

CHAPTER 3. SYSTEM REQUIREMENT SPECIFICATION………………………….12


3.1 Functional Requirements…………………………………………………………………12
3.2 Non-Functional Requirements…………………………………………………………...14

CHAPTER 4. SYSTEM DESIGN………………………………………………………….16


4.1 System Architecture……………………………………………………………………...16
4.2 Flow Chart………………………………………………………………………………..17
4.3 Use Case Diagram……………………………………………………………………….18
4.4 E-R Diagram……………………………………………………………………………..19
4.5 Test Cases………………………………………………………………………………..20
CHAPTER 5. IMPLEMENTATION………………………………………………………24
5.1 Tools and Languages Used……………………………………………………………….24
5.2 Modules…………………………………………………………………………………..28
CHAPTER 6. SNAPSHOTS……………………………………………………………….54

CHAPTER 7. CONCLUSION AND FUTURE WORK…………………………………58


7.1 Future Work……………………………………………………………………………..58
7.2 Conclusion……………………………………………………………………………….59
REFERENCES
G.F.G.C SORAB BCA NOTES GALLERY

1. INTRODUCTION

G.F.G.C Sorab BCA Notes Gallery is a comprehensive web-based notes


sharing and management system designed to significantly enhance the way students and
teachers share academic notes online. Traditional methods of distributing notes manually
are not only time-consuming but also inefficient, often resulting in delays and limited
accessibility for students and teachers alike. G.F.G.C Sorab BCA Notes Gallery addresses
these challenges by transforming the outdated manual paperwork process into a fully
automated and streamlined online system.

This innovative platform allows users to securely register and log in to their individual
accounts, where they can create, read, update, and delete notes according to their needs.
The system's robust security measures ensure that all notes are protected, providing peace
of mind for both students and teachers. Multiple users can work simultaneously within the
system under the centralized supervision of an administrator, making it possible for a
large number of students and teachers to access and manage notes at the same time
without any disruption.

G.F.G.C Sorab BCA Notes Gallery is especially useful for educational institutions such as
colleges, schools, and other academic organizations. By offering a secure, efficient, and
effective way to manage and share notes, the system enhances the overall educational
experience. It not only facilitates easier access to academic resources but also promotes a
more organized and collaborative learning environment.

The platform's user-friendly interface ensures that even those with minimal technical
skills can navigate and utilize its features effectively. Teachers can effortlessly upload and
share their notes with students, while students can easily access and review these notes at
their convenience. The administrator plays a crucial role in overseeing the entire system,
ensuring that all notes are appropriately managed and that users adhere to the platform's
guidelines.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 1


G.F.G.C SORAB BCA NOTES GALLERY

1.1 Problem Statement

In the traditional educational environment, the distribution and management


of academic notes pose significant challenges. The existing system of manually
distributing notes is time-consuming and inefficient, often leading to delays and
accessibility issues for students and teachers. Additionally, the reliance on physical paper
contributes to unnecessary environmental waste and lacks the security measures needed
to protect sensitive academic materials.
G.F.G.C Sorab BCA Notes Gallery addresses these challenges by offering a web-based
solution designed to streamline the sharing and management of notes. This system is built
using core PHP and MySQL, providing a robust and scalable platform for educational
institutions. Despite the advantages, there are several specific problems that need to be
resolved:
1. Manual Paperwork: The current system relies heavily on manual paperwork,
which is prone to errors and consumes significant time and resources.
2. Distribution Delays: Manually distributing notes to each student individually
leads to delays and inefficiencies in accessing important academic materials.
3. Lack of Availability: Notes are often not readily available to all students,
resulting in unequal access to educational resources.

4. Security Concerns: The manual system lacks adequate security measures to


protect sensitive notes and academic materials.
5. Environmental Impact: The use of paper for note distribution contributes to
environmental degradation and waste.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 2


G.F.G.C SORAB BCA NOTES GALLERY

1.3 Proposed System


G.F.G.C Sorab BCA Notes Gallery is designed to revolutionize the way students and
teachers interact with academic notes by providing a comprehensive, user-friendly, and
secure platform. The proposed system aims to replace the traditional, manual methods of
distributing notes with a fully automated and centralized online solution.
Key Features and Functionalities:
1. User Registration and Authentication:
o Students and teachers can easily create accounts by registering through the
platform. The registration process includes necessary validations to ensure
data integrity and security.
o Secure login functionality ensures that only authenticated users can access
the system. Passwords are stored securely, and mechanisms for password
recovery are provided to enhance user convenience.
2. Notes Upload and Management:
o Once registered, users can upload their notes in various formats including
text, images, and PDFs. The system supports a wide range of file types to
accommodate different types of academic content.
o Uploaded notes are categorized based on subjects or departments, making
it easier for users to organize and locate relevant materials. Tags and
metadata can be added to notes for improved searchability.
3. Access and Permissions:
o The system supports different user roles such as students, teachers, and
administrators. Each role has specific permissions to ensure appropriate
access to various functionalities.
o Students can view and download notes shared by teachers and other
students. Teachers can upload notes and manage their own content,
ensuring that their materials are always up-to-date and accessible.
4. Administrative Control:
o The administrator has comprehensive control over the system through a
dedicated admin panel. This includes the ability to manage users, monitor
uploaded notes, and enforce platform policies.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 3


G.F.G.C SORAB BCA NOTES GALLERY
o Administrators can approve or disapprove notes before they become
publicly accessible, ensuring that only high-quality and relevant content is
shared within the system.
5. Enhanced Security:
o The platform employs robust security measures to protect user data and
notes. This includes encryption for sensitive data, secure communication
channels, and regular security audits.
o Role-based access control (RBAC) ensures that users can only access
functionalities and data appropriate to their roles, minimizing the risk of
unauthorized access.
6. Collaborative Features:
o Future enhancements could include collaborative tools such as shared
workspaces where students and teachers can work together on notes or
projects in real-time.
o Discussion forums and comment sections for each note can facilitate
academic discussions and peer-to-peer learning.
7. Notification System:
o Users receive notifications for important events such as new note uploads,
updates to existing notes, and administrative announcements. This keeps
users informed and engaged with the platform.
8. Scalability and Flexibility:
o The system is designed to be scalable, accommodating increasing numbers
of users and notes without compromising performance. This ensures that
the platform can grow alongside the institution’s needs.
o Modular architecture allows for easy integration of new features and
updates, ensuring that the platform remains relevant and effective in
meeting user needs.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 4


G.F.G.C SORAB BCA NOTES GALLERY

1.4 Objective

The objectives of the system are:

 To reduce manual paperwork.


 To reduce the time required for sharing and distributing notes.
 To increase reliability.
 To enhance operational efficiency.
 To ensure data security.
This Notes Management System can be readily used by non-programming
personnel, reducing the chance of human error. The project serves three types of
users:

 Students
 Teachers
 Administrators
Students and teachers can create their accounts to view notes shared by others and
upload their own notes. The administrator, an authorized user, will oversee all
uploaded notes and manage users through the admin panel. New features can be
added to the system as needed.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 5


G.F.G.C SORAB BCA NOTES GALLERY

1.5 Modification and Improvement Over the Existing Implementation

Present State:

 No software is currently present.


 Time is consumed in distributing notes to everyone individually.
 Manual paperwork is prevalent.
 Students are informed about notes via manual email distribution.
 There is a lack of accessibility.

After Implementation of Project:

 A user-friendly, web-based system will be easy to use.


 Users can register online.
 Notes will be accessible from anywhere.
 The administrator will have centralized control.
 Notes will be managed in a secure manner.
 A chat zone will provide a platform for voice and video calls, as well as text
communication.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 6


G.F.G.C SORAB BCA NOTES GALLERY

1.6 Scope

This project has a large scope and includes the following features that enhance
usability, understanding, and modification:

 Ease of Sharing Notes: Simplifies the process of sharing notes among users.
 No Paperwork Required: Eliminates the need for manual paperwork,
contributing to a paper-free environment.
 Environmental Impact: Supports eco-friendly practices by reducing paper usage.
 Increased Efficiency: Enhances the efficiency of note management.
 Comprehensive Note Management: Facilitates the management of all notes in
the system.
 Secure User Log In and Registration: Provides a secure platform for user
access.
 Easy Password Recovery: Allows users to recover passwords through email.
 Department-Based Notes Management: Organizes notes based on departments
or courses.
Main Points:

 Simplified Management of Notes: Streamlines the organization and handling of


notes.
 Note Upload Functionality: Enables users to upload their notes.
 Approve/Disapprove Features: Allows administrators to manage the quality of
notes by approving or disapproving submissions.
 Admin Panel: Provides administrators with comprehensive control over the

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 7


G.F.G.C SORAB BCA NOTES GALLERY
system.
 User Profile Management: Allows users to manage their profiles and account
settings.

2.REQUIREMENT ANALYSIS

2.1 Initial Investigation


Initial Investigation:
The initial investigation phase of the G.F.G.C Sorab BCA Notes Gallery project is critical
for understanding the project's scope, identifying key requirements, and assessing the
feasibility of the proposed solution. This phase involves gathering information, analyzing
current practices, and defining the project's objectives.
1. Understanding the Problem Domain:
The first step in the initial investigation is to gain a comprehensive understanding of the
problem domain. This includes analyzing how academic notes are currently managed and
shared within educational institutions like G.F.G.C Sorab. The traditional methods of
distributing notes, such as physical handouts or email, often face several challenges
including inefficiencies, lack of real-time updates, and difficulties in managing and
organizing large volumes of notes. This investigation aims to identify these issues and
explore potential solutions.
2. Stakeholder Identification:
Identifying key stakeholders is crucial for gathering relevant requirements. The primary
stakeholders for the G.F.G.C Sorab BCA Notes Gallery project include:
 Students who require access to course notes for their studies.
 Teachers who need a platform to share and manage their teaching materials.
 Administrators who oversee the note-sharing system, ensuring that all content is
appropriately managed and approved.
Understanding the needs and expectations of these stakeholders helps in tailoring the
system to meet their specific requirements.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 8


G.F.G.C SORAB BCA NOTES GALLERY
3. Analysis of Existing Systems:
An analysis of existing note-sharing systems, both within G.F.G.C Sorab and in other
educational institutions, provides valuable insights into current practices and
technologies. This analysis includes reviewing:
 Manual Systems: Methods such as physical distribution of notes and email-based
sharing.
 Existing Digital Platforms: Evaluating other online platforms or learning
management systems (LMS) used for note-sharing.

2.2 Information Gathering

The information gathering phase is a crucial step in the development of the G.F.G.C
Sorab BCA Notes Gallery project. This phase involves collecting detailed information
from various sources to ensure that the system meets the needs of its users and aligns with
the project's objectives. The goal is to build a comprehensive understanding of the
requirements, constraints, and expectations for the project.
1. Stakeholder Interviews:
Interviews with key stakeholders are conducted to gather insights into their needs,
preferences, and pain points. The primary stakeholders include:
 Students: Their feedback helps identify the types of notes they need, their
preferred formats, and the challenges they face with current note-sharing methods.
 Teachers: Teachers provide information on how they currently manage and
distribute notes, their requirements for note approval and categorization, and their
preferences for user interfaces and features.
 Administrators: Administrators share their requirements for overseeing the note-
sharing process, including the need for approval workflows, user management,
and security measures.
2. Surveys and Questionnaires:
Surveys and questionnaires are distributed to a larger group of potential users to collect
quantitative data on their needs and preferences. This method helps in understanding
common challenges faced by students and teachers and gathering broad input on the
desired features and functionalities of the system.
3. Observation:

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 9


G.F.G.C SORAB BCA NOTES GALLERY
Observing the current note-sharing practices within G.F.G.C Sorab provides valuable
context for the project. This includes:
 Classroom Observations: Understanding how notes are distributed and used
during classes.
 Administrative Procedures: Reviewing the current processes for managing and
approving notes.
 Technical Infrastructure: Evaluating the existing IT infrastructure to identify any
technical constraints or requirements for the new system.

2.3 Feasibility study.

The feasibility study is an evaluation and analysis of the potential of a proposed project
which is based on extensive investigation and research to support the process of decision
making. Depending on the results of the initial investigation the survey is now expanded
to a more detailed feasibility study.
1. Technical Feasibility: In technical feasibility, we study all technical issues regarding
the proposed system. It is mainly concerned with the specifications of the equipment's and
the software, which successfully satisfies the end-user's requirement. The technical needs
of the system may vary accordingly but include:
The feasibility to produce outputs in a given time.
Response time under certain conditions.
Ability to process a certain volume of the transaction at a particular speed.
Facility to communicate data
2. Operational Feasibility: In the existing manual system it is very difficult to maintain
and update huge amount of information. This system, will handles the request in a better
way and make the process easier thus, it is sure that the system developed is operationally
feasible.
3. Economic Feasibility: The application can be developed within budget.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 10


G.F.G.C SORAB BCA NOTES GALLERY

2.3 Existing system

The existing communication system is not built as a software application. Everybody can
download the notes form the internet but it takes time to search the notes and find the
appropriate one. To make this complex job simple and allows the users to participate in
simple communication and save unproductive time it is to be built as a software
application. This type of communication channel fails in providing effective user-friendly
communication between the users. The G.F.G.C Sorab BCA Notes Gallery application is
built to make the students time worth and use that time in some productive activities and
case of access for the students.

2.4 Proposed System


PROPOSED METHOD WITH ARCHITECTURE
G.F.G.C Sorab BCA Notes Gallery is designed to make ease of access for the students
and the teachers also in order to keep the notes at one place and make their work hassle
free. The application is developed by using the PHP for the back-end programing and
CSS & JavaScript for the front end developing.
The architecture is based on the single side server which includes the teacher and the
student interface in the same menu. Both the students and the teacher can upload the notes
and also view or download them

2.5 Advantages of the Proposed System

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 11


G.F.G.C SORAB BCA NOTES GALLERY
It can be thought to find a time that works for all necessary participants searching the
notes through random internet sites.G.F.G.C Sorab BCA Notes Gallery is much more
flexible.Participants can access from work, School or home.It also makes it easy to
exchange the notes in Realtime and make much easier to access the material.

3. SYSTEM REQUIREMENT SPECIFICATION

3.1 Functional Requirements

Functional requirements define the essential functionalities that the G.F.G.C Sorab BCA
Notes Gallery system must support to achieve its goals. These requirements ensure that
the system can perform its intended functions and provide a seamless user experience.
1. User Authentication:
 Account Creation: Users must be able to register an account by providing
required details such as username, email address, and password. The registration
process should include validation checks to ensure data integrity and security.
 Login/Logout: Users must have the ability to log in to their accounts using their
credentials. Upon login, users should be directed to their respective dashboards.
They should also be able to log out securely, ending their session and protecting
their data.
 Role-Based Access Control: The system should support multiple user roles,
including Administrator, Teacher, and Student. Each role should have specific
access rights and permissions. Administrators can manage all aspects of the
system, while Teachers and Students have restricted access based on their roles.
2. Note Management:

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 12


G.F.G.C SORAB BCA NOTES GALLERY
 Upload Notes: Users must be able to upload notes in various formats, including
PDF, DOCX, and TXT. The upload interface should allow users to select files,
provide descriptions or tags, and submit notes for review.
 View Notes: Users should be able to view notes that have been approved and are
available for their role. The viewing interface should display notes in a readable
format, supporting different file types and ensuring compatibility with various
devices.
 Update Notes: Users should be able to update their own notes after uploading.
Teachers and administrators should also have the capability to edit and update
notes as required, ensuring that the content remains accurate and current.
 Delete Notes: Users should have the ability to delete their own notes if necessary.
Administrators should be able to delete any notes from the system, including those
uploaded by other users, to maintain the quality and relevance of the content.

3. Approval Workflow:
 Admin Review: All notes submitted by users must be reviewed by an
administrator before they are made visible to other users. This review process
ensures that the content meets the institution’s standards and is appropriate for
sharing.
 Approval/Rejection: Administrators should have the ability to approve or reject
notes based on their review. Users should be notified of the status of their
submissions, including reasons for rejection if applicable. Approved notes should
be accessible to users according to their role.
4. Search and Filtering:
 Search Functionality: The system should provide a robust search feature that
allows users to find notes using keywords, subjects, or categories. The search
functionality should support full-text search and return relevant results quickly.
 Filtering Options: Users should be able to filter notes based on criteria such as
date, subject, and uploader. This feature helps users narrow down their search and
locate specific notes efficiently.
5. User Profile Management:
 Profile Update: Users should be able to update their profile information,
including contact details, profile picture, and password. The profile management
interface should be intuitive and allow users to make changes easily.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 13


G.F.G.C SORAB BCA NOTES GALLERY
 Password Recovery: The system should provide a secure mechanism for
recovering forgotten passwords. This may include email-based recovery, security
questions, or other verification methods to ensure that only authorized users can
reset their passwords.
6. Security and Privacy:
 Data Encryption: The system must encrypt sensitive data, such as user
credentials and uploaded notes, both during transmission and at rest. Encryption
ensures that user data is protected from unauthorized access and breaches.
 Access Control: The system should implement strict access control measures to
enforce role-based permissions and prevent unauthorized access to sensitive
information. This includes ensuring that users can only access features and data
relevant to their role..

3.2 Non-Functional Requirements

Non-functional requirements define the quality attributes, performance metrics, and


constraints that the G.F.G.C Sorab BCA Notes Gallery system must adhere to. These
requirements ensure that the system is reliable, efficient, and user-friendly.
1. Usability:
 User Interface: The system must have an intuitive and user-friendly interface that
accommodates users with varying levels of technical proficiency. The design
should be clean, organized, and easy to navigate.
 Accessibility: The system should comply with accessibility standards to ensure
that users with disabilities can access and use the platform effectively. This
includes support for screen readers and keyboard navigation.
2. Performance:
 Response Time: The system should provide quick response times for user actions,
such as logging in, uploading notes, and performing searches. Ideally, the response
time for most actions should be under 2 seconds.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 14


G.F.G.C SORAB BCA NOTES GALLERY
 Scalability: The system should be designed to handle an increasing number of
users and notes without significant degradation in performance. It should be
scalable to accommodate future growth and additional features.
3. Reliability:
 Availability: The system should have high availability, with minimal downtime. It
should be accessible 24/7, with any maintenance activities scheduled during off-
peak hours to minimize disruption.
 Error Handling: The system should handle errors gracefully and provide
informative error messages to users. It should also log errors for analysis and
resolution by the development team.
4. Security:
 Data Protection: The system must ensure the confidentiality, integrity, and
availability of user data. This includes implementing encryption for sensitive
information, secure authentication mechanisms, and regular security audits.
 Access Control: The system should enforce strict access control measures to
prevent unauthorized access to user accounts and sensitive data. This includes
role-based permissions and secure password storage.

5. Compatibility:
 Cross-Browser Support: The system should be compatible with major web
browsers, including Chrome, Firefox, Safari, Edge, and Opera. It should provide a
consistent user experience across different browsers.
 Device Compatibility: The system should be responsive and compatible with
various devices, including desktops, tablets, and smartphones. The design should
adapt to different screen sizes and orientations.
6. Maintainability:
 Code Quality: The system should be developed with high-quality code that is
easy to understand, maintain, and extend. This includes following coding
standards, using meaningful variable names, and providing comments and
documentation.
 Documentation: Comprehensive documentation should be provided for both
users and developers. User documentation should include guides and help
resources, while developer documentation should cover system architecture, API
details, and deployment instructions.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 15


G.F.G.C SORAB BCA NOTES GALLERY
7. Backup and Recovery:
 Data Backup: The system should implement regular data backups to protect
against data loss. Backups should be stored securely and tested periodically to
ensure they can be restored successfully.
 Disaster Recovery: The system should have a disaster recovery plan in place to
restore functionality in the event of a major failure or data loss. This plan should
include procedures for data recovery and system restoration.
8. Compliance:
 Legal and Regulatory Compliance: The system should comply with relevant
legal and regulatory requirements, including data protection laws and intellectual
property rights. This ensures that the system operates within legal boundaries and
protects user rights.
9. Cost-Efficiency:
 Budget Management: The system should be designed and implemented within
the allocated budget. Cost-effective solutions should be considered for hardware,
software, and ongoing maintenance to ensure financial sustainability.

4.SYSTEM DESIGN

4.1 System Architecture

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 16


G.F.G.C SORAB BCA NOTES GALLERY

Fig 4.1 system architecture

4.2 Flowchart

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 17


G.F.G.C SORAB BCA NOTES GALLERY

Fig 4.2.1 Flowchart

4.3 Use Case Diagram

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 18


G.F.G.C SORAB BCA NOTES GALLERY

Fig 4.3.1 Use Case Diagram

4.4 E-R Diagram

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 19


G.F.G.C SORAB BCA NOTES GALLERY

Fig 4.4.1 E-R Diagram

4.5 Test Cases

Test Case Test Case Pre- Expected Actual


Test Steps Status
ID Description conditions Result Result
TC-001 User Registration User is on 1. Navigate to User account is Done Pass
the the created
registration registration successfully,
page page. <br> 2. and user is
Enter valid redirected to
details. <br> 3. the login page.
Click

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 20


G.F.G.C SORAB BCA NOTES GALLERY
Test Case Test Case Pre- Expected Actual
Test Steps Status
ID Description conditions Result Result
"Register".
1. Navigate to
the login page.
User is
<br> 2. Enter
User has a successfully
valid
TC-002 User Login registered logged in and Done Pass
username and
account redirected to
password.
the dashboard.
<br> 3. Click
"Login".
1. Navigate to
the upload
Note is
notes page.
uploaded
<br> 2. Select
Upload Notes User is successfully
TC-003 a valid note Done Pass
(Student/Teacher) logged in and awaits
file. <br> 3.
admin
Enter details.
approval.
<br> 4. Click
"Upload".
1. Navigate to
the admin
Note status is
dashboard.
updated to
<br> 2. View
Admin Approval Admin is approved, and
TC-004 uploaded Done Pass
of Notes logged in it becomes
notes. <br> 3.
visible to all
Select a note
users.
and click
"Approve".
1. Navigate to
the notes All approved
View Approved User is section. <br> notes are
TC-005 Done Pass
Notes logged in 2. View displayed
approved correctly.
notes.
1. Navigate to
the profile Profile
Update Profile User is page. <br> 2. information is
TC-006 Done Pass
Information logged in Update profile updated
details. <br> 3. successfully.
Click "Save".

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 21


G.F.G.C SORAB BCA NOTES GALLERY
Test Case Test Case Pre- Expected Actual
Test Steps Status
ID Description conditions Result Result
1. Click
"Forgot
Password
Password"
recovery
User is on link. <br> 2.
Password instructions are
TC-007 the login Enter Done Pass
Recovery sent to the
page registered
registered
email. <br> 3.
email.
Click
"Submit".
1. Navigate to
the
Error messages
User is on registration
are displayed
Invalid User the page. <br> 2.
TC-008 indicating the Done Pass
Registration registration Enter invalid
fields needing
page details. <br> 3.
correction.
Click
"Register".
1. Navigate to
the login page.
Error message
<br> 2. Enter
User has a "Invalid
invalid
TC-009 Invalid User Login registered username or Done Pass
username or
account password" is
password.
displayed.
<br> 3. Click
"Login".
1. Navigate to
the upload
notes page.
<br> 2. Select Error messages
Note Upload
User is a valid note are displayed
TC-010 Without Required Done Pass
logged in file. <br> 3. indicating the
Details
Leave details missing details.
empty. <br> 4.
Click
"Upload".
TC-011 Admin Reject Admin is 1. Navigate to Note status is Done Pass
Notes logged in the admin updated to
dashboard. rejected and
<br> 2. View not visible to
uploaded users.
notes. <br> 3.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 22


G.F.G.C SORAB BCA NOTES GALLERY
Test Case Test Case Pre- Expected Actual
Test Steps Status
ID Description conditions Result Result
Select a note
and click
"Reject".
All rejected
1. Navigate to
notes are
the admin
View Rejected Admin is displayed
TC-012 dashboard. Done Pass
Notes logged in correctly in the
<br> 2. View
admin
rejected notes.
dashboard.
1. Navigate to
Error messages
the profile
Profile Update are displayed
User is page. <br> 2.
TC-013 with Invalid indicating the Done Pass
logged in Enter invalid
Information fields needing
details. <br> 3.
correction.
Click "Save".
Access is
1. Attempt to
User is denied, and
Access Admin navigate to the
logged in as user is
TC-014 Panel by Non- admin Done Pass
a student or redirected or
Admin User dashboard
teacher shown an error
URL directly.
message.
1. Navigate to
the upload
notes page.
Error message
Upload Note with <br> 2. Select
User is "Unsupported
TC-015 Unsupported File an Done Pass
logged in file format" is
Format unsupported
displayed.
file format.
<br> 3. Click
"Upload".

Table 4.5.1 Test Case

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 23


G.F.G.C SORAB BCA NOTES GALLERY

5. IMPLEMENTATION

5.1 Tools and Languages Used

Hardware Tools
 Intel Core i5 Dual Core:
o Description: Intel Core i5 is a series of mid-range processors developed
by Intel. The Dual Core variant features two processing cores, which can
handle multiple tasks simultaneously. This processor provides a good
balance between performance and power efficiency, making it suitable for
general computing tasks and development work.
o Role in the Project: Provides the necessary computational power for
running development environments, testing, and deploying the application.
 4GB RAM and Above:

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 24


G.F.G.C SORAB BCA NOTES GALLERY
o Description: RAM (Random Access Memory) is a critical component that
temporarily stores data that the CPU needs while performing tasks. Having
at least 4GB of RAM ensures that the system can handle multiple
applications and processes simultaneously without significant slowdowns.
o Role in the Project: Ensures smooth operation of development tools, web
servers, and browsers, facilitating efficient development and testing.
 Above 64-bit OS Windows and Above:
o Description: A 64-bit operating system can handle more memory and run
more complex applications compared to a 32-bit OS. It supports modern
software and hardware configurations, enhancing system performance.
o Role in the Project: Provides a stable and compatible environment for
running development tools and deploying the application.

Software Tools

1. Platform: Visual Studio Code

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 25


G.F.G.C SORAB BCA NOTES GALLERY
Fig 5.1.1 Visual Studio Code

 Description: The image depicts the Visual Studio Code (VS Code) editor, a
powerful and versatile code editor developed by Microsoft. It highlights several
key features of the editor:
o User Interface: The image shows the clean and intuitive user interface of
VS Code, including the sidebar with file navigation, the central editor area
where code is written, and the status bar at the bottom that provides useful
information about the coding environment.
o Code Editing: VS Code supports syntax highlighting and code completion
for various programming languages including HTML, CSS, JavaScript,
and PHP. The image demonstrates these features with colorful syntax
highlighting that improves code readability and helps prevent errors.
o Extensions: The image might include the Extensions view, where users
can browse and install extensions that enhance functionality, such as
language support, debuggers, and version control tools.
o Integrated Terminal: VS Code includes an integrated terminal that allows
developers to run command-line operations directly within the editor,
streamlining the development workflow.

2. Browser: Chrome, Firefox, Safari, Edge

Fig 5.1.2 Chrome, Firefox, Safari, and Edge

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 26


G.F.G.C SORAB BCA NOTES GALLERY
Description: The image features the logos of major web browsers used for testing web
applications: Chrome, Firefox, Safari, and Edge. It highlights their roles and capabilities
in ensuring cross-browser compatibility:
 Google Chrome:
Chrome is known for its speed, user-friendly interface, and extensive
support for modern web standards. The browser provides robust developer
tools for debugging, performance monitoring, and testing, making it a
preferred choice for many developers.
 Mozilla Firefox:
Firefox emphasizes privacy and open-source principles. It offers a range of
developer tools, including the Firefox Developer Tools, which provide
features such as CSS Grid Layout visualization and network monitoring.
The browser supports a wide range of web technologies and standards.
 Apple Safari:
Safari is the default browser on Apple devices and is optimized for the
macOS and iOS environments. It includes tools for testing and optimizing
web applications specifically for Apple devices, ensuring that applications
perform well within the Apple ecosystem.
 Microsoft Edge:
o Edge offers improved performance and security compared to its
predecessor, Internet Explorer. It integrates well with Windows and
provides developer tools for testing web applications..
.
3. Front End: HTML, CSS, Bootstrap

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 27


G.F.G.C SORAB BCA NOTES GALLERY

Fig 5.1.3 HTML, CSS, and Bootstrap

 HTML (HyperText Markup Language):


o Purpose: HTML serves as the foundation for creating web pages,
providing the basic structure for text, images, and multimedia elements.
The image highlights how HTML tags are used to organize and present
content on the web.
 CSS (Cascading Style Sheets):

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 28


G.F.G.C SORAB BCA NOTES GALLERY
o Code Snippets: CSS code examples are displayed, showing how styles are
applied to HTML elements. This includes styling for colors, fonts,
margins, paddings, and layout adjustments. The use of selectors,
properties, and values to customize the appearance of elements is
illustrated.
 Bootstrap:
o Code Snippets or Screenshots: Bootstrap-related code or components are
shown, such as grid systems, navigation bars, buttons, and forms. The
image might include Bootstrap classes and components used to create
responsive and modern UI elements.
.

4. Back End: PHP

Fig 5.1.4 PHP


PHP:
 Server-Side Processing: PHP is used for server-side scripting, handling tasks
such as data processing, database interactions, and session management.
 Example: The image displays a PHP code snippet where user registration data is
received from a form submission, processed, and stored in a MySQL database. It
might include:
o Form Handling: PHP code that receives user data from a POST request.
o Database Connection: Establishing a connection to a MySQL database
using PHP’s mysqli or PDO extension.

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 29


G.F.G.C SORAB BCA NOTES GALLERY
o Data Insertion: Inserting user registration data into the database with
prepared statements to ensure security and prevent SQL injection.
o Session Management: Code managing user sessions, allowing users to
remain logged in across different pages of the application.
o Error Handling: PHP code that handles potential errors during data
processing and provides appropriate feedback to the user.
 Security Measures: PHP snippets showing implementation of security measures
such as data sanitization, validation, and the use of password hashing functions to
protect user credentials.

5.2 Project Coding

5.2.1 Index Page


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>College Notes Sharing</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,500"
rel="stylesheet">
<style>
body {
background-color: #2196F3; /* Blue background */
font: 100% Roboto, sans-serif;
text-align: center;
background-image: url("images/index page.jpg");
background-size: cover; /* Cover the entire background */
background-position: center; /* Center the background image */

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 30


G.F.G.C SORAB BCA NOTES GALLERY
padding: 50px;
margin: 0;
}

h1 {
color: #ffffff; /* White text */
font-size: 2.5em;
margin-bottom: 20px;
}

nav {
width: 300px;
background: white;
color: rgba(0, 0, 0, 0.87);
-webkit-clip-path: circle(24px at 30px 24px);
clip-path: circle(24px at 32px 24px);
-webkit-transition: -webkit-clip-path 0.5625s, clip-path 0.375s;
transition: -webkit-clip-path 0.5625s, clip-path 0.375s;
margin: 20px auto;
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

nav:hover {
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
-webkit-transition-duration: 0.75s;
transition-duration: 0.75s;
-webkit-clip-path: circle(390px at 225px 24px);

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 31


G.F.G.C SORAB BCA NOTES GALLERY
clip-path: circle(390px at 150px 24px);
}

a{
display: block;
line-height: 50px;
padding: 0 20px;
color: inherit;
text-decoration: none;
font-weight: 500;
font-size: 1.2em;
transition: background-color 0.3s ease;
}

a:hover {
background-color: #ffe082; /* Light yellow on hover */
}

a:active {
background-color: #ffca28; /* Darker yellow on active */
}

.navicon {
display: inline-block;
padding: 23px 20px;
cursor: pointer;
-webkit-transform-origin: 32px 24px;
-ms-transform-origin: 32px 24px;
transform-origin: 32px 24px;
}

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 32


G.F.G.C SORAB BCA NOTES GALLERY

.navicon div {
position: relative;
width: 20px;
height: 2px;
background: rgba(0, 0, 0, 0.87);
}

.navicon div:before,
.navicon div:after {
display: block;
content: "";
width: 20px;
height: 2px;
background: rgba(0, 0, 0, 0.87);
position: absolute;
}

.navicon div:before {
top: -7px;
}

.navicon div:after {
top: 7px;
}
</style>
</head>
<body>
<h1>G.F.G.C Sorab-BCA-Notes-Gallery</h1>
<nav>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 33


G.F.G.C SORAB BCA NOTES GALLERY
<div class="navicon">
<div></div>
</div>
<a href="login.php">Login</a>
<a href="signup.php">Sign Up</a>
<a href="dashboard/">Upload Notes</a>
</nav>
</body>
</html>

5.2.2 Login page

<?php include 'includes/connection.php'; ?>

<?php
session_start();
$error_message = "";

if (isset($_POST['login'])) {
$username = mysqli_real_escape_string($conn, $_POST['user']);
$password = mysqli_real_escape_string($conn, $_POST['pass']);

$query = "SELECT * FROM users WHERE username = '$username'";


$result = mysqli_query($conn, $query) or die(mysqli_error($conn));

if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$id = $row['id'];

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 34


G.F.G.C SORAB BCA NOTES GALLERY
$user = $row['username'];
$pass = $row['password'];
$name = $row['name'];
$email = $row['email'];
$role = $row['role'];
$course = $row['course'];

if (password_verify($password, $pass)) {
$_SESSION['id'] = $id;
$_SESSION['username'] = $username;
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['role'] = $role;
$_SESSION['course'] = $course;
header('location: dashboard/');
exit();
} else {
$error_message = "Invalid password. Please try again.";
}
}
} else {
$error_message = "Username doesn't exist. Please try again.";
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 35


G.F.G.C SORAB BCA NOTES GALLERY
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,500"
rel="stylesheet">
<style>
body {
background-color: #f5f5f5; /* Light gray background */
background-image: url("images/login page.jpg");
background-size: cover;
font-family: 'Roboto', sans-serif;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}

.login-card {
width: 300px;
background: #ffffff; /* White background */
color: #333333; /* Dark text color */
margin: 20px;
padding: 30px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
transition: box-shadow 0.3s ease;
}

.login-card:hover {

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 36


G.F.G.C SORAB BCA NOTES GALLERY
box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

h1 {
color: #2196F3; /* Blue text */
font-size: 2.5em;
margin-bottom: 20px;
}

input[type="text"],
input[type="password"],
input[type="submit"] {
width: 100%;
padding: 12px;
margin: 10px 0;
border: none;
border-bottom: 2px solid #cccccc; /* Light gray bottom border */
font-size: 1em;
transition: border-bottom 0.3s ease;
}

input[type="text"]:focus,
input[type="password"]:focus {
border-bottom: 2px solid #2196F3; /* Blue bottom border on focus */
}

input[type="submit"] {
background-color: #2196F3; /* Blue background */
color: #ffffff; /* White text */
cursor: pointer;

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 37


G.F.G.C SORAB BCA NOTES GALLERY
border: none;
border-radius: 5px;
font-size: 1.2em;
padding: 12px 0;
transition: background-color 0.3s ease;
}

input[type="submit"]:hover {
background-color: #0d8bf2; /* Darker blue on hover */
}

.login-help {
margin-top: 15px;
font-size: 0.9em;
color: #666666; /* Gray text */
}

.login-help a {
color: #2196F3; /* Blue links */
text-decoration: none;
transition: color 0.3s ease;
}

.login-help a:hover {
color: #0d8bf2; /* Darker blue on hover */
}

.error-message {
color: #ff0000; /* Red error message */
font-size: 0.9em;

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 38


G.F.G.C SORAB BCA NOTES GALLERY
margin-top: 10px;
}
</style>
</head>
<body>
<div class="login-card">
<h1>Log-in</h1>
<?php
if (!empty($error_message)) {
echo '<div class="error-message">' . $error_message . '</div>';
}
?>
<form method="POST">
<input type="text" name="user" placeholder="Username" required="">
<br><br>
<input type="password" name="pass" placeholder="Password" required="">
<br><br>
<input type="submit" name="login" class="login login-submit" value="Login">
</form>

<div class="login-help">
<a href="signup.php">Register</a> • <a href="recoverpassword.php">Forgot
Password</a>
</div>
</div>
</body>
</html>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 39


G.F.G.C SORAB BCA NOTES GALLERY

5.2.3 Signup Page

<?php include 'includes/connection.php';?>


<?php include 'includes/header.php';?>

<?php include 'includes/navbar.php';?>

<?php
if (isset($_POST['signup'])) {
require "gump.class.php";
$gump = new GUMP();
$_POST = $gump->sanitize($_POST);
$gump->validation_rules(array(
'username' => 'required|alpha_numeric|max_len,20|min_len,4',
'name' => 'required|alpha_space|max_len,30|min_len,5',
'email' => 'required|valid_email',

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 40


G.F.G.C SORAB BCA NOTES GALLERY
'password' => 'required|max_len,50|min_len,6',
));
$gump->filter_rules(array(
'username' => 'trim|sanitize_string',
'name' => 'trim|sanitize_string',
'password' => 'trim',
'email' => 'trim|sanitize_email',
));
$validated_data = $gump->run($_POST);

if($validated_data === false) {


?>
<center><font color="red" ><?php echo $gump->get_readable_errors(true);
?></font></center>
<?php
}
else if ($_POST['password'] !== $_POST['repassword']) {
echo "<center><font color='red'>Passwords do not match</font></center>";
}
else {
$username = $validated_data['username'];
$checkusername = "SELECT * FROM users WHERE username = '$username'";
$run_check = mysqli_query($conn , $checkusername) or die(mysqli_error($conn));
$countusername = mysqli_num_rows($run_check);
if ($countusername > 0 ) {
echo "<center><font color='red'>Username is already taken! try a different
one</font></center>";
}
$email = $validated_data['email'];
$checkemail = "SELECT * FROM users WHERE email = '$email'";

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 41


G.F.G.C SORAB BCA NOTES GALLERY
$run_check = mysqli_query($conn , $checkemail) or die(mysqli_error($conn));
$countemail = mysqli_num_rows($run_check);
if ($countemail > 0 ) {
echo "<center><font color='red'>Email is already taken! try a different
one</font></center>";
}
else {
$name = $validated_data['name'];
$email = $validated_data['email'];
$pass = $validated_data['password'];
$password = password_hash("$pass" , PASSWORD_DEFAULT);
$role = $_POST['role'];
$course = $_POST['course'];
$gender = $_POST['gender'];
$joindate = date("F j, Y");
$query = "INSERT INTO
users(username,name,email,password,role,course,gender,joindate,token) VALUES
('$username' , '$name' , '$email', '$password' , '$role', '$course', '$gender' , '$joindate' ,
'' )";
$result = mysqli_query($conn , $query) or die(mysqli_error($conn));
if (mysqli_affected_rows($conn) > 0) {
echo "<script>alert('SUCCESSFULLY REGISTERED');
window.location.href='login.php';</script>";
}
else {
echo "<script>alert('Error Occured');</script>";
}
}
}
}
?>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 42


G.F.G.C SORAB BCA NOTES GALLERY
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registration Form</title>
<style>
body {
background-image: url("images/login page.jpg"); /* Replace 'background.jpg' with
your image path */
background-size: cover;
background-repeat: no-repeat;
font-family: Arial, sans-serif;
color: #333;
}
.container {
width: 50%;
margin: 0 auto;
padding: 20px;
background-color: rgba(255, 255, 255, 0.8);
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.form {
margin-top: 20px;
}
.contact {
margin-bottom: 10px;
}
.contact label {

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 43


G.F.G.C SORAB BCA NOTES GALLERY
font-weight: bold;
}
.select-style {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-bottom: 10px;
}
.buttom {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.buttom:hover {
background-color: #45a049;
}
</style>
</head>
<body>

<?php include 'includes/navbar.php'; ?>

<div class="container">
<div class="form">

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 44


G.F.G.C SORAB BCA NOTES GALLERY
<form id="contactform" method="POST">
<p class="contact"><label for="name">Name</label></p>
<input id="name" name="name" placeholder="First and last name" required=""
tabindex="1" type="text" value="<?php if(isset($_POST['signup'])) { echo
$_POST['name']; } ?>">

<p class="contact"><label for="email">Email</label></p>


<input id="email" name="email" placeholder="[email protected]"
required="" type="email" value="<?php if(isset($_POST['signup'])) { echo
$_POST['email']; } ?>">

<p class="contact"><label for="username">Create a username</label></p>


<input id="username" name="username" placeholder="username" required=""
tabindex="2" type="text" value="<?php if(isset($_POST['signup'])) { echo
$_POST['username']; } ?>">

<p class="contact"><label for="password">Create a password</label></p>


<input type="password" id="password" name="password" required="">
<p class="contact"><label for="repassword">Confirm your
password</label></p>
<input type="password" id="repassword" name="repassword" required="">

<p class="contact"><label for="gender">Gender </label></p>


<select class="select-style gender" name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select><br><br>

<p class="contact"><label for="role">I am a..</label></p>


<select class="select-style gender" name="role">
<option value="teacher">Teacher</option>
<option value="student">Student</option>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 45


G.F.G.C SORAB BCA NOTES GALLERY
</select><br><br>

<p class="contact"><label for="course">I teach/study..</label></p>


<select class="select-style gender" name="course">
<option value="First BCA">First BCA</option>
<option value="Second BCA">Second BCA</option>
<option value="Third BCA">Third BCA</option>
</select><br><br>

<input class="buttom" name="signup" id="submit" tabindex="5" value="Sign me


up!" type="submit">
</form>
</div>
</div>
</body></html>

5.2.4 Upload Notes Page

<?php include 'includes/connection.php';?>


<?php include 'includes/adminheader.php';?>

<?php
if (isset($_SESSION['role']) && $_SESSION['role'] == 'admin') {
header("location: index.php");
}
?>

<div id="wrapper">

<?php include 'includes/adminnav.php';?>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 46


G.F.G.C SORAB BCA NOTES GALLERY
<div id="page-wrapper">

<div class="container-fluid">

<!-- Page Heading -->


<div class="row">
<div class="col-lg-12">
<h1 class="page-header" style="color: #007bff; font-size: 36px; font-weight: bold;
text-align: center; text-transform: uppercase;">
UPLOAD NOTE
</h1>
</div>

<?php
if (isset($_POST['upload'])) {
$file_title = trim(filter_input(INPUT_POST, 'title',
FILTER_SANITIZE_STRING));
$file_description = trim(filter_input(INPUT_POST, 'description',
FILTER_SANITIZE_STRING));

if (isset($_SESSION['id'])) {
$file_uploader = $_SESSION['username'];
$file_uploaded_to = $_SESSION['course'];
}

$file = $_FILES['file']['name'];
$ext = pathinfo($file, PATHINFO_EXTENSION);
$validExt = array ('pdf', 'txt', 'doc', 'docx', 'ppt' , 'zip');
if (empty($file)) {
echo "<script>alert('Attach a file');</script>";

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 47


G.F.G.C SORAB BCA NOTES GALLERY
} else if ($_FILES['file']['size'] <= 0 || $_FILES['file']['size'] > 30720000 )
{
echo "<script>alert('file size is not proper');</script>";
} else if (!in_array($ext, $validExt)){
echo "<script>alert('Not a valid file');</script>";
} else {
$folder = 'allfiles/';
$fileext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
$notefile = rand(1000 , 1000000) .'.'.$fileext;
if(move_uploaded_file($_FILES['file']['tmp_name'], $folder.$notefile))
{
$query = "INSERT INTO uploads(file_name, file_description,
file_type, file_uploader, file_uploaded_to, file) VALUES ('$file_title' , '$file_description' ,
'$fileext' , '$file_uploader' , '$file_uploaded_to' , '$notefile')";
$result = mysqli_query($conn , $query) or die(mysqli_error($conn));
if (mysqli_affected_rows($conn) > 0) {
echo "<script> alert('file uploaded successfully. It will be published
after admin approves it');
window.location.href='notes.php';</script>";
} else {
"<script> alert('Error while uploading..try again');</script>";
}
}
}
}
?>

<form role="form" action="" method="POST" enctype="multipart/form-


data">
<div class="form-group">
<label for="post_title">Note Title</label>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 48


G.F.G.C SORAB BCA NOTES GALLERY
<input type="text" name="title" class="form-control" placeholder="Eg:
Php Tutorial File" value="<?php if(isset($_POST['upload'])) { echo $file_title; } ?>"
required="">
</div>

<div class="form-group">
<label for="post_tags">Short Note Description</label>
<input type="text" name="description" class="form-control"
placeholder="Eg: Php Tutorial File includes basic php programming ...." value="<?php
if(isset($_POST['upload'])) { echo $file_description; } ?>" required="">
</div>

<div class="form-group">
<label for="post_image">Select File</label>
<font color="brown">(allowed file type: 'pdf','doc','ppt','txt','zip' |
allowed maximum size: 30 mb)</font>
<input type="file" name="file">
</div>

<button type="submit" name="upload" class="btn btn-primary" value="Upload


Note">Upload Note</button>
<br>
<br>
</form>
</div>
</div>
</div>
</div>
</div>

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 49


G.F.G.C SORAB BCA NOTES GALLERY
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>

</body>
</html>

5.2.5 Password Recovery Page

<?php include 'includes/connection.php';?>


<?php include 'includes/header.php';?>
<?php include 'includes/navbar.php';?>

<?php
$message = '';

if (isset($_POST['recover'])) {
$email = mysqli_real_escape_string($conn, $_POST['email']);

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 50


G.F.G.C SORAB BCA NOTES GALLERY
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$query = "SELECT username FROM users WHERE email = '$email'";
$run = mysqli_query($conn, $query) or die(mysqli_error($conn));

if (mysqli_num_rows($run) > 0) {
$row = mysqli_fetch_assoc($run);
$userName = $row['username'];

function generateRandomString($length = 5) {
return
substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ
RSTUVWXYZ"), 0, $length);
}

$token_tmp = generateRandomString();
$token = md5($token_tmp);
$url = $_SERVER['REQUEST_URI'];
$parts = explode('/', $url);
$dir = $_SERVER['SERVER_NAME'] . '/';
for ($i = 0; $i < count($parts) - 1; $i++) {
$dir .= $parts[$i] . "/";
}
$token = bin2hex(random_bytes(50));
require 'PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP(); // Set mailer to use SMTP


$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP
servers
$mail->SMTPAuth = true; // Enable SMTP authentication

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 51


G.F.G.C SORAB BCA NOTES GALLERY
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'tpdm ixzd wzfl kavu'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also
accepted
$mail->Port = 587; // TCP port to connect to

$mail->setFrom('[email protected]', 'Admin');
$mail->addReplyTo('[email protected]', 'Admin');
$mail->addAddress($email);

$mail->isHTML(true); // Set email format to HTML


$bodyContent = "<h1>Hello $userName,</h1>";
$bodyContent .= '<p>Click the following link to recover your password:</p>';
$bodyContent .= '<a href="http://' . $dir . 'verifytoken.php?token=' . $token .
'">Recover Password</a>';

$mail->Subject = 'Email from collegenotesgallery';


$mail->Body = $bodyContent;

$query2 = "UPDATE users SET token = '$token' WHERE email = '$email'";


$run = mysqli_query($conn, $query2) or die(mysqli_error($conn));
$count = mysqli_affected_rows($conn);
if ($mail->send() && ($count > 0)) {
$message = "<center><font color='green'>Email with recover password link
has been sent</font></center>";
} else {
$message = "<center><font color='red'>Message could not be
sent.</font></center>";
$message .= "<center><font color='red'>Mailer Error: " . $mail->ErrorInfo .
"</font></center>";
}

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 52


G.F.G.C SORAB BCA NOTES GALLERY
} else {
$message = "<center><font color='red'>Entered email does not match any
record</font></center>";
}
} else {
$message = "<center><font color='red'>Invalid email type</font></center>";
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Recover Password</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background: url("images/login page.jpg") no-repeat center center fixed;
background-size: cover;
}
.login-card {
background: rgba(255, 255, 255, 0.8); /* semi-transparent white background */
padding: 40px;

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 53


G.F.G.C SORAB BCA NOTES GALLERY
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
max-width: 400px;
width: 100%;
text-align: center;
}
.login-card h1 {
margin-bottom: 20px;
}
.login-card input[type="text"], .login-card input[type="submit"] {
width: 100%;
padding: 10px;
margin: 10px 0;
border: 1px solid #ccc;
border-radius: 5px;
}
.login-help {
margin-top: 20px;
}
.login-help a {
text-decoration: none;
color: #007BFF;
}
</style>
</head>
<body>
<div class="login-card">
<h1>Recover Password</h1><br>
<form action="" method="POST">
<input type="text" name="email" placeholder="Enter your Email" required="">

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 54


G.F.G.C SORAB BCA NOTES GALLERY
<input type="submit" name="recover" class="login login-submit" value="Send">
</form>
<?php
if (!empty($message)) {
echo $message;
}
?>
<div class="login-help">
<a href="signup.php">Register</a> • <a href="login.php">Login</a>
</div>
</div><script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></
script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></
script>
</body>
</html>
5.2.5 Database Connections
<?php
$conn = mysqli_connect("localhost","root","","notes" ) or die ("error" .
mysqli_error($conn));

6. SNAPSHOTS
6.1.1 Home Page

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 55


G.F.G.C SORAB BCA NOTES GALLERY

Fig 6.1.1 Home Page

6.1.2 Login Page

Fig 6.1.2 Login Page

6.1.3 Signup Page

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 56


G.F.G.C SORAB BCA NOTES GALLERY

Fig 6.1.3 Signup Page

6.1.4 Admin Dashboard

Fig 6.1.4 Admin Dashboard

6.1.5 User Dashboard

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 57


G.F.G.C SORAB BCA NOTES GALLERY

Fig 6.1.5 User Dashboard

6.1.6 Upload Notes

Fig 6.1.6 Upload Notes

6.1.7 Database

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 58


G.F.G.C SORAB BCA NOTES GALLERY

Fig 6.1.7 Database

7. Future Work and Conclusion

7.1 Future Work

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 59


G.F.G.C SORAB BCA NOTES GALLERY
The G.F.G.C Sorab BCA Notes Gallery has the potential for numerous enhancements and
expansions to further improve its usability, functionality, and reach. Some of the proposed
future work includes:
1. Mobile Application Development: Developing a mobile application for both
Android and iOS platforms to provide users with easy access to notes on the go.
This would enhance the accessibility and convenience of the system.
2. Enhanced Search Functionality: Implementing advanced search features such as
filtering notes by date, author, or tags, and incorporating natural language
processing to improve search accuracy and relevance.
3. Collaborative Features: Introducing features that allow for real-time
collaboration on notes, enabling multiple users to edit and comment on documents
simultaneously.
4. Notification System: Developing a robust notification system to alert users about
new notes, approvals, and other important updates via email or in-app
notifications.
5. Analytics and Reporting: Adding analytical tools to provide insights into note
usage, popular topics, and user engagement. This data can help administrators and
educators understand user behavior and improve content quality.
6. Integration with Learning Management Systems (LMS): Integrating the notes
gallery with popular LMS platforms like Moodle or Canvas to streamline the
management of academic resources and provide a more unified learning
experience.
7. Enhanced Security Features: Implementing additional security measures such as
two-factor authentication, encryption of stored data, and regular security audits to
ensure the safety and privacy of user information.
8. Accessibility Improvements: Ensuring that the platform is fully accessible to
users with disabilities by adhering to web accessibility standards (e.g., WCAG)
and providing features like screen reader support and keyboard navigation.
9. Multimedia Support: Allowing users to upload and share multimedia content
such as video lectures, audio recordings, and interactive presentations alongside
traditional text notes.

7.2 Conclusion

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 60


G.F.G.C SORAB BCA NOTES GALLERY
The G.F.G.C Sorab BCA Notes Gallery project has successfully established a robust,
user-friendly, and secure platform for sharing and managing academic notes. By
addressing the inefficiencies of traditional note distribution methods, this system has
provided a streamlined, centralized, and automated solution that benefits students,
teachers, and administrators alike.
Through secure user registration and login, efficient note creation, and management
capabilities, and the centralized oversight of an administrator, the system ensures that
academic resources are accessible and organized effectively. The inclusion of various user
roles, the ability to handle multiple file formats, and the implementation of CRUD
functionalities have further enhanced the usability and flexibility of the platform.
Looking ahead, there is significant scope for expanding and improving the system to meet
evolving user needs and technological advancements. By focusing on areas such as
mobile accessibility, collaborative features, advanced security, and integration with other
educational tools, the G.F.G.C Sorab BCA Notes Gallery can continue to evolve and
provide even greater value to its users.
In conclusion, this project represents a significant step forward in the digital
transformation of academic resource management, fostering a more efficient,
collaborative, and environmentally friendly approach to education. The ongoing
development and refinement of this system will ensure that it remains a valuable asset for
educational institutions in the years to come.

8.References

1. Web Development and Programming Books:

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 61


G.F.G.C SORAB BCA NOTES GALLERY
o Welling, L., & Thomson, L. (2008). PHP and MySQL Web Development.
Addison-Wesley Professional.
o Duckett, J. (2011). HTML and CSS: Design and Build Websites. John
Wiley & Sons.
o Flanagan, D. (2006). JavaScript: The Definitive Guide. O'Reilly Media.
2. Online Documentation and Tutorials:
o PHP Manual: https://www.php.net/manual/en/
o MySQL Documentation: https://dev.mysql.com/doc/
o Mozilla Developer Network (MDN) Web Docs: HTML, CSS, JavaScript:
https://developer.mozilla.org/
3. Frameworks and Libraries:
o Bootstrap Documentation: https://getbootstrap.com/docs/
o jQuery Documentation: https://jquery.com/
4. Web Servers and Development Environments:
o XAMPP Documentation: https://www.apachefriends.org/index.html
o Apache HTTP Server Documentation: https://httpd.apache.org/docs/
o Visual Studio Code Documentation: https://code.visualstudio.com/docs
5. Security and Best Practices:
o OWASP Foundation. (2021). OWASP Top Ten Security Risks.
https://owasp.org/www-project-top-ten/
o PHP Security Best Practices: https://www.php.net/manual/en/security.php
6. Online Resources and Articles:
o Stack Overflow: A community-driven Q&A platform for developers:
https://stackoverflow.com/
o W3Schools: Web development tutorials and references:
https://www.w3schools.com/

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 62


G.F.G.C SORAB BCA NOTES GALLERY

DEPARTMENT OF B.C.A, GFGC, SORAB PAGE – 63

You might also like