Sdms

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

CHAPTER–1

COMPANY PROFILE

A.S. INFO. TECH. is an information and technology services provider focusing on


providing highly scalable business solutions with innovative approach and advanced
methodologies for all the developed and blooming companies covering all the sectors.
They provide strategic development for the global business community with their wide
array of effective solutions and services customized to a range of key verticals &
horizontals.
Their approach is based on commencing the projects with clear objectives, delivering
significant outcomes to help overcome the needs of all their clients with proficiency.
They work with a dynamic and fervent team of IT professionals driven by par
excellence to deliver the best possible solutions by utilizing state of art technologies.
With a customer centric focus they ensure their clients with satisfied results every
time and therefore they provide full support to their clients even beyond project
completion. They are acknowledged for their quality standards, work process,
professional service, and suppleness by all their clients.

A.S. INFO. TECH. deals with different services provided by our family by keeping in
mind the customer satisfaction the on-time delivery with the effective work done.
 Web Designing
 Internet Marketing
 Website Development
 ERP Implementation and Support
 6 Week/Months Industrial Training
 Domain Registration & Web Hosting
A.S. INFO. TECH. has a worldwide client base and many years of experience in
professional web site designing and programming. Our sites are created with a solid
foundation of functionality, beauty, and simplicity. They are designed specifically to
provide your customers with the information they want quickly and easily.
A.S. INFO. TECH. has now emerged on various Software Technologies with an
objective of strategic and practical approach towards training the students and working
professionals. With the guidance and supervision of our experienced Professionals,
students are trained in each and every aspect of technologies. The courses cover
everything necessary- from the basic concept for beginners to advanced techniques.
This training will help:
 Experienced individuals to refine their skills and learn latest concepts in
various technologies.
 Fresher‟s to keep them one step ahead from people without any experience
and also to compete with Industry Professionals.
 Our courses cover everything necessary to build strong professional
foundations.

Our goal remains to provide practical knowledge with strong fundamentals so what
student‟s career is secured.

What A.S. INFO. TECH. Soft is offering to the students?

A.S. INFO. TECH. offers training in the following technologies:

 JAVA
 PHP
 Cloud Computing
 Web Designing
 Graphics Designing
 Oracle
 Automation Testing and many more
 Networking
 ERP Software‟s
 Computer Hardware & Repairing
 Online Bidding

Why A.S. INFO. TECH. ?


At A.S. INFO. TECH. Soft, we believe in developing long lasting business solution
rather than just developing an application. A.S. INFO. TECH. has a
worldwide client base and many years of experience in professional web site
designing and programming. Our sites are created with a solid foundation of
functionality, beauty, and simplicity. They are designed specifically to provide our
customers with the information they want quickly and easily.
A.S. INFO. TECH. Soft is backed by Industry experts to solve real-time challenges:
 Coerces developed by Industry Experts.
 State of art labs.
 Trainers are available to solve any of student‟s queries.
 The batch size is kept in between 15-20 students.
 Real time project based training.
 Emphasis on overall development.
 Interaction with HR & IT experts.
 100% job assistance on completion of training. Depending upon the
performance, the students are hired by the company.

A.S. INFO. TECH. offers an array of courses in IT training for organization and for
individuals who wish to take up career education and skill enhancement courses, with
a high degree of flexibility.
INTRODUCTION TO THE TOPIC :-

Student Details Management System is software which is helpful for students as well as the
school authorities. In the current system all the activities are done manually. It is very time
consuming and costly. Our Student Management System deals with the various activities
related to the students.

There are mainly 3 modules in this software


 Administrator Module

 Faculty Module

 Student Module.

In the Software we can register as a faculty as well as a student for every student the
authentication code and the roll no is provided by the head of the department faculty and for
the registration of a faculty the Registration ID and the authentication code is provided by the
administrator the institute.
In this project an admin can manage the faculty and take decision about the students like
deletion of any student admin is authorized to create the token for the registration of the
faculty as same as a faculty is authorized for creating token for the registration of a student.
Purpose:

The objective of Student information System is to allow the administrator of any organization
to edit and find out the personal details of a student and allows the student to keep up to date
his profile .It‟ll also facilitate keeping all the records of students, such as their id, name,
mailing address, phone number, DOB etc. So all the information about an student will be
available in a few seconds.
Overall, it‟ll make Student Information Management an easier job for the administrator and
the student of any organization.
The main purpose of this SRS document is to illustrate the requirements of the project
Student information System and is intended to help any organization to maintain and manage
its student‟s personal data.
Scope :

Without a Student information System, managing and maintaining the details of the student is
a tedious job for any organization. Student Information system will store all the details of the
students including their background information, educational qualifications, personal details
and all the information related to their resume .
CHAPTER–2
SYSTEM ANALYSIS
System Analysis is a detailed study of the various operations performed by a system and their
relationships within and outside of the system. Here the key question is- what all problems
exist in the present system? What must be done to solve the problem? Analysis begins when
a user or manager begins a study of the program using existing system.
During analysis, data collected on the various files, decision points and transactions
handled by the present system. The commonly used tools in the system are Data Flow
Diagram, interviews, etc. Training, experience and common sense are required for collection
of relevant information needed to develop the system. The success of the system depends
largely on how clearly the problem is defined, thoroughly investigated and properly carried
out through the choice of solution. A good analysis model should provide not only the
mechanisms of problem understanding but also the frame work of the solution. Thus it should
be studied thoroughly by collecting data about the system. Then the proposed system should
be analyzed thoroughly in accordance with the needs.
System analysis can be categorized into four parts.
 System planning and initial investigation
 Information Gathering

 Applying analysis tools for structured analysis

 Feasibility study
 Cost/ Benefit analysis.

In the current system we need to keep a number of records related to the student and want to
enter the details of the student and the marks manually. In this system only the teacher or the
school authority views the mark of the student and they want to enter the details of the
student. This is time consuming and has much cost.

Proposed System - Student Detail Management System

In our proposed system we have the provision for adding the details of the
students by themselves. So the overhead of the school authorities and the teachers is become
less. Another advantage of the system is that it is very easy to edit the details of the student
and delete a student when it found unnecessary. The marks of the student are added in the
database and so students can also view the marks whenever they want.
Our proposed system has several advantages
1. User friendly interface
2. Fast access to database
3. Less error
4. More Storage Capacity
5. Search facility
6. Look and Feel Environment
7. Quick transaction

All the manual difficulties in managing the student details in a school or college
have been rectified by implementing computerization.

Feasibility Analysis - Student Details Management System


Whatever we think need not be feasible .It is wise to think about the feasibility of any
problem we undertake. Feasibility is the study of impact, which happens in the organization
by the development of a system. The impact can be either positive or negative. When the
positives nominate the negatives, then the system is considered feasible. Here the feasibility
study can be performed in two ways such as technical feasibility and Economical Feasibility.

Technical Feasibility:
We can strongly says that it is technically feasible, since there will not be much difficulty
in getting required resources for the development and maintaining the system as well. All the
resources needed for the development of the software as well as the maintenance of the same
is available in the organization here we are utilizing the resources which are available
already.
Economical Feasibility
Development of this application is highly economically feasible .The organization needed
not spend much money for the development of the system already available. The only thing is
to be done is making an environment for the development with an effective supervision. If we
are doing so, we can attain the maximum usability of the corresponding resources .Even after
the development, the organization will not be in condition to invest more in the organization
.Therefore, the system is economically feasible
CHAPTER–3
SYSTEM ARCHITECTURE
In this chapter, modules of the website are described. It includes software interfaces,
hardware interfaces, software requirements, hardware requirements etc.

This project is made under an online project which is works as a website also it also use for
the advertisement of the institute it also include the information pages of the institute like
vision, about us, history, student information page, syllabus for the students, admission
information and a notice board for the student of institute and as well as a guest user.

Admin Module:-

This is the first and the base module of the project by this module a admin is provided to the
project to manage the faculty and student module. An admin have the authority to add and
remove the faculty, Add and delete the Notification, view progress and attendance status of
the students, update academic calendar etc.

Faculty Module:-

This module is for the faculty members of the institute all faculty are get a unique token no
and a pin for registration by the administrator of the institute by using the registration id and
pin the faculty will get registration page after filling that form the faculty will get registered
in the institute database and they choose a password for login to their profile. After login the
faculty have authorized to services for the student like submit attendance of students, submit
marks of their subjects, make result, add notification for a particular department, send mail to
individual or a group of student, allot assignments and project to the students.

Student Module:-

As like faculty registration same the student will get a roll no and a pin to registered
themselves. After enter the roll no and pin students are redirect to the registration page after
submitting their general details student will get a roll no and a password to login their profile.
After login the student is able to view and update their updatable information like mobile no,
email, address and profile pictures but students are restricted to update their key details like
Name, Father Name, Date of birth in such a case in student is able to write a online
application to their head of department for approving to update these details. Students are
able to view other information related to their class like notification of their departments, own
attendance in individual subjects, previous test marks, and send message to other students.

Services Diagram of Modules.

ADMIN MODULE

Add/Update Add/Delet Delete View S tudents Allot S ubjects


Notification e Faculty Student Data to Faculty
CHAPTER–4
TECHNICAL ARCHITECTURE

The technology selected for implementing Student Information Management System is


PHP/MYSQL.Apache is used as the HTTP server.The development was done in a „windows‟
environment using adobe dreamweaver CS5.

PHP

PHP is a general-purpose scripting language that is especially suited to server-side web


development where PHP generally runs on a web server.PHP code is embedded into the
HTML source document.Any PHP code in a requested file is executed by the PHP runtime,
usually to create dynamic web page content.It can also be used for command-line scripting
and client-side GUI applications. PHP can be deployed on many web servers and operating
systems, and can be used with many relational database management systems (RDBMS). It is
available free of charge, and the PHP Group provides the complete source code for users to
build, customize and extend for their own use.

MySQL

MySQL is a relational database management system (RDBMS) [1] that runs as a server
providing multi-user access to a number of databases. MySQL is a popular choice of database
for use in web applications and is an open source product. The process of setting up a
MySQL database varies from host to host, however we will end up with a database name, a
user name and a password. Before using our database, we must create a table. A table is a
section of the database for storing related information. In a table we will set up the different
fields which will be used in that table. Creating a table in phpMyAdmin is simple, we just
type the name, select the number of fields and click the „go‟ button. we will then be taken to a
setup screen where you must create the fields for the database.Another way of creating
databases and tables in phpMyAdmin is by executing simple SQL statements.We have used
this method in order to create our database and tables.
Apache

The Apache HTTP Server is a web server software notable for playing a key role in the initial
growth of the World Wide Web. In 2009 it became the first web server software to surpass
the 100 million web site milestone. Apache is developed and maintained by an open
community of developers under the auspices of the Apache Software Foundation. Since April
1996 Apache has been the most popular HTTP server software in use. As of November 2010
Apache served over 59.36% of all websites and over 66.56% of the first one million busiest
websites.

XAMPP

XAMPP is a small and light Apache distribution containing the most common web
development technologies in a single package. Its contents, small size, and portability make it
the ideal tool for students developing and testing applications in PHP and MySQL. XAMPP
is available as a free download in two specific packages: full and lite. While the full package
download provides a wide array of development tools, XAMPP Lite contains the necessary
technologies that meet the Ontario Skills Competition standards.The light version is a small
package containing Apache HTTP Server, PHP, MySQL, phpMyAdmin, Openssl, and
SQLite.
Obtaining and Installing XAMPP
As previously mentioned, XAMPP is a free package available for download and use for
various web development tasks. All XAMPP packages and add-ons are distributed through
the Apache Friends website at the address: http://www.apachefriends.org/. Once on the
website, navigate and find the Windows version of XAMPP and download the self-extracting
ZIP archive. After downloading the archive, run and extract its contents into the root path of
a hard disk or USB drive. For example, the extract path for a local Windows installation
would simply be C:\. If extracted properly we will notice a new xampp directory in the root
of your installation disk. In order to test that everything has been installed correctly, first start
the Apache HTTP Server by navigating to the xampp directory and clicking on the
apache_start.bat batch file.
Next we will test if the server is running correctly by opening an internet browser and typing
http://localhost/ into the address bar. If configured correctly, we will be presented with a
screen similar to that of the one below.

Figure 1 (XAMPP Splash Screenshot)


In order to stop all Apache processes we do not close the running terminal application, but
instead run another batch file in the xampplite directory called apache_stop.bat.
Creating a Database and Inserting Data
Now that we have run and tested Apache and PHP, the next step is running MySQL and creating
a database and table which will hold information to be used by our website. In order to start
MySQL, navigate to the xampp directory and run the mysql_start.bat batch file.The XAMPP
package contains an application called phpMyAdmin which allows developers to administer and
maintain MySQL databases.We will be using phpMyAdmin to create a database and table, and
enter test data. Before testing phpMyAdmin, make sure that both Apache and MySQL are
running by opening their respective batch files: apache_start.bat and mysql_start.bat. Along with
Apache and MySQL running in the background, we type http://localhost/phpMyAdmin/ into our
web browser. If successful we will be presented with a phpMyAdmin start page similar to the
one shown below.

Figure 2 (PhpMyAdmin Start Page)


The first step with phpMyAdmin running is creating a new database.We create a new database
by directly executing SQL statements as shown below.The successful execution of the sql querry
creates a database „sims‟ with tables in it.The tabels are admin_login and student_info. We also
inserted values in the admin table.The screenshot below shows the successful execution of the
query thus creation of a database named student.

14
CHAPTER–5
PROJECT DESCRIPTION

Introduction

Student Information Management System can be used by education institutes to maintain the
records of students easily. Achieving this objective is difficult using a manual system as the
information is scattered, can be redundant and collecting relevant information may be very time
consuming. All these problems are solved using this project

The directory structure of the project is as follows:

15
Description Of Root Directory Contents

css:-it contains the all css code for the pages of the website.
Data1: it contains the data files which helps to slide show of home page.
Docs: it contains all the documents which are related to the notification uploaded by the admin
or faculty.
Engine1: it contains the css and JavaScript code which helps to running the slideshow of
homepage.
Images: it contains all the images like logo, menu_icon, and the profile picture uploaded by the
students or faculty.
Add_faculty.php: this page contains the code which helps which navigate the token generation
page.
Add_notes.php : it this page code containing the information which is used to upload the
notification for home page.
Add_student_excel.php: this page contains the code for the uploading token excel file for the
student registration.
Add_stud.php : in this page the code is available which show the option for choosing the option
for which mode is selected for token generation.
Atten_indi.php : In this page code contain the token generation for any single student.
Connection.php : this php file contain the connection page which contains the caonnection code
for connecting the database.
Faculty_home.php: this page shows the services which is available for the faculty.
Login_handler.php : this page is used to authenticate the user id and password for admin,
student and faculty it redirect the page according to the user type.
Logout.php: this file contains the code for closing the session and disconnect the database.
Main.php: this is the main home page of website this page contains title bar, menu bar,
notification area, picture gallery, login area.
Notes_delete: this file is used to delete the notification which is uploaded by the admin.
Notify.php: this page shows all the notification which is acces by the admin to view and update
the notification.
Signup_handler: this file used to save the registration data on Databse.
Stud_page: this page show all the services available for the students.
Stud_signup.php : this page contains the registration form for the students.\
Stud_signup_handler: this file is used to save the student information to stud_info table.
Stud_token_gen.php: this file contains the code for generation the token for students.
Token_handler.php : this page contains the code for save the tokens data on databse.

16
Description of Database tables:
Table1: Admin table

Admin:
Name: name of the admin
User_id: user id for login the admin page.
Password: password for authenticate and redirect the admin page.
Table2: faculty_details

Faculty_details:
Reg_id: id for login the faculty.
Fname: first name of faculty
Lname: Last Name of faculty.
Sex: Specify the gender of faculty.
Mobile: mobile no of the faculty.
Email: email id of the faculty.
Address: address of the faculty.
City: city of the faculty.
Qualification: highest qualification of the faculty.
Father_name: father name of the faculty.
Password: password contains the password for the login to faculty.
Sec_ques: it contains the question which is selected by the faculty while signup.
Sec_ans: in caontains the answer of security question which again help to recover the
password

Table3:faculty_token

17
Faculty_token:
Faculty-name: name of the faculty and automatically fetched into signup page.
Pin: 4 digit pin to authenticate token.
F_id: registration id for then faculty.

Table4: images:

Images:
Reg_id: reg-id is the id of student or faculty which is related to the student‟s images.
Passport: name of profile pic.
Sign: file name of student‟s signature.
Doc1: file name of student‟s doc.
Doc2: file name of student‟s doc.

Table5: mca11(subject table)

Subject table:
This table automatically inserted into databse by the name of subject whenever the admin
allocate a new subject.and after it is used to save the attendance of the student.
Reg_id: reg_id of the student referenced to stud_info table‟s primary key.
Sr_no: temporary roll no od students.
Date: date of attendance.
Status: status of student‟s attendace saves “Y” for present “N” for absent.

18
Table6: stud_info

Stud_info :
Reg_id: primary key and the regid is also used by the student to login into website.
Fname: first name of student.
Lname: last name of the student.
Dob: date of birth of the student
Mobile: mobile no of the student
Email: email of the student.
Address; address of the student.
Course: course of the student .
Year: year of course.
Father_name: father‟s name of the student.
City: city of the student.
Sex: specify the gender of student.
Password: password for login into website.
Sec_ques: question choosed by the student while signup.
Sec_ans: answer of security question.
Table8: Stud_token

Stud_token:
Stud_name: name of the student which is automatically into signup page.
Pin: 4 digit pin code to authenticate the token.
S_id: roll no of the student.
Table9: uploaded_files

19
Uploaded_files:
File_name: name of the file uploaded for the notification.
User_id: user_id of the user who upload the notification.
Title: title of the notification.

20
CHAPTER–6
CODING
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');

if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT * FROM tblusers WHERE username=:username and Password=:password ";
$query=$dbh->prepare($sql);
$query-> bindParam(':username', $username, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach ($results as $result) {
$_SESSION['sid']=$result->id;
$_SESSION['name']=$result->name;
$_SESSION['lastname']=$result->lastname;
$_SESSION['permission']=$result->permission;
$_SESSION['email']=$result->email;

if(!empty($_POST["remember"])) {

21
//COOKIES for username
setcookie ("user_login",$_POST["username"],time()+ (10 * 365 * 24 * 60 * 60));
//COOKIES for password
setcookie ("userpassword",$_POST["password"],time()+ (10 * 365 * 24 * 60 * 60));
} else {
if(isset($_COOKIE["user_login"])) {
setcookie ("user_login","");
if(isset($_COOKIE["userpassword"])) {
setcookie ("userpassword","");
}
}
}
$aa= $_SESSION['sid'];
$sql="SELECT * from tblusers where id=:aa";
$query = $dbh -> prepare($sql);
$query->bindParam(':aa',$aa,PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{

if($row->status=="1"){
$extra="dashboard.php";
$username=$_POST['username'];
$email=$_SESSION['email'];

22
$name=$_SESSION['name'];
$lastname=$_SESSION['lastname'];
$_SESSION['login']=$_POST['username'];
$_SESSION['id']=$num['id'];
$_SESSION['username']=$num['name'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=1;
$sql="insert into
userlog(userEmail,userip,status,username,name,lastname)values(:email,:uip,:status,:username,:n
ame,:lastname)";
$query=$dbh->prepare($sql);
$query->bindParam(':username',$username,PDO::PARAM_STR);
$query->bindParam(':name',$name,PDO::PARAM_STR);
$query->bindParam(':lastname',$lastname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':uip',$uip,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
} else {
echo "<script>alert('Your account was blocked please approach
Admin');document.location ='index.php';</script>";
}

}}
} else{

23
$extra="index.php";
$username=$_POST['username'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=0;
$email='Not registered in system';
$name='Potential Hacker';
$sql="insert into
userlog(userEmail,userip,status,username,name)values(:email,:uip,:status,:username,:name)";
$query=$dbh->prepare($sql);
$query->bindParam(':username',$username,PDO::PARAM_STR);
$query->bindParam(':name',$name,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':uip',$uip,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
echo "<script>alert('Username or Password is incorrect');document.location
='http://$host$uri/$extra';</script>";
}
}
?>

<?php @include("includes/head.php"); ?>


<body class="hold-transition login-page">
<!-- Logo box -->
<div class="login-box">
<!-- /.login-logo -->

24
<div class="card">
<div class="card-body login-card-body">
<div class="login- logo">
<p><b>
</b></p><!-- Link can also be removed -->
<center><img src="company/logo.png" width="150" height="130" class="user-image"
alt="User Image"/></center>
</div>
<p class="login-box- msg"><b> <h4> <center> Welcome </center></h4> </b></p>

<form action="" method="post">


<div class="input-group mb-3">
<input type="text" name="username" class="form-control" placeholder="Username"
required value="<?php if(isset($_COOKIE["user_login"])) { echo $_COOKIE["user_login"]; }
?>">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" name="password" class="form-control"
placeholder="Password" required value="<?php if(isset($_COOKIE["userpassword"])) { echo
$_COOKIE["userpassword"]; } ?>">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>

25
</div>
</div>
<div class="row">
<div class="col-8">
<div class="icheck-primary">
<input type="checkbox" id="remember" <?php if(isset($_COOKIE["user_login"])) {
?> checked <?php } ?>>
<label for="remember">
Remember Me
</label>
</div>
</div>
<!-- /.col -->
<div class="col-4">
<button type="submit" name="login" class="btn btn-primary btn-block" data-
toggle="modal" data-taget="#modal-default">Login</button>
</div>
<!-- /.col -->
</div>
</form>
<p class="mb-1">
<a href="forgotpassword.php">I forgot my password</a>
</p>
</div>
<!-- /.login-card-body -->
</div>
</div>
<?php @include("includes/foot.php"); ?>
<script src="assets/js/core/js.cookie.min.js"></script>

26
</body>
</html>

27
SCREEN SHOT

Login Page:-

28
Add Student :-

View Student

29
CHAPTER–7
LIMITATION

Performance Requirements:

The proposed system that we are going to develop will be used as the Chief performance system
for providing help to the organization in managing the whole database of the student studying in
the organisation. Therefore, it is expected that the database would perform functionally all the
requirements that are specified.

Safety Requirements:

The database may get crashed at any certain time due to virus or operating system failure.
Therefore, it is required to take the database backup.

Security Requirements:

We are going to develop a secured database. There are different categories of users namely
Administartor ,Student who will be viewing either all or some specific information form the
database.

Depending upon the category of user the access rights are decided. It means if the user is an
administrator then he can be able to modify the data, append etc. All other users only have the
rights to retrieve the information about database.

30
CHAPTER–8
CONCLUSION

Student Detail Management System can be used by educational institutions to maintain their
student records easily. Achieving this objective is difficult using the manual system as the
information is scattered, can be redundant, and collecting relevant information may be very time-
consuming. All these problems are solved by this project.
This system helps in maintaining the information of pupils of the organization. It can be easily
accessed by the manager and kept safe for a long period of time without any changes.

31

You might also like