Report Draft1
Report Draft1
Report Draft1
A
PROJECT REPORT
ON
SUBMITTED BY,
Mr. G Darshankumar - UO6GO21S0006
Lecturer
Department of Computer Applications -BCA
Government First Grade College, Sorab -577429, Shivamogga
VI SEMESTER BCA
2023-24
KUVEMPU UNIVERSITY
Lecturer
2023-24
Department of Computer Applications -BCA
Government First Grade College, Sorab -577429, Shivamogga
KUVEMPU UNIVERSITY
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
Ph.D
Lecturer
Department of BCA
Government First Grade College,
Sorab -577429, Shivamogga
KUVEMPU UNIVERSITY
DECLARATION
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
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
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.
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
1. INTRODUCTION
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.
1.4 Objective
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.
Present State:
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:
2.REQUIREMENT ANALYSIS
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:
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.
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.
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:
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.
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.
4.SYSTEM DESIGN
4.2 Flowchart
5. IMPLEMENTATION
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:
Software Tools
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.
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);
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;
}
.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>
<?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']);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$id = $row['id'];
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">
.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 {
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;
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;
<div class="login-help">
<a href="signup.php">Register</a> • <a href="recoverpassword.php">Forgot
Password</a>
</div>
</div>
</body>
</html>
<?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',
<div class="container">
<div class="form">
<?php
if (isset($_SESSION['role']) && $_SESSION['role'] == 'admin') {
header("location: index.php");
}
?>
<div id="wrapper">
<div class="container-fluid">
<?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>";
<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>
</body>
</html>
<?php
$message = '';
if (isset($_POST['recover'])) {
$email = mysqli_real_escape_string($conn, $_POST['email']);
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->setFrom('[email protected]', 'Admin');
$mail->addReplyTo('[email protected]', 'Admin');
$mail->addAddress($email);
<!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;
6. SNAPSHOTS
6.1.1 Home Page
6.1.7 Database
7.2 Conclusion
8.References