0% found this document useful (0 votes)
72 views92 pages

SRS Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views92 pages

SRS Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 92

ABSTRACT

Our project explains about the student record management. This project mainly
explains the various actions related to student details. This project shows some
ease in adding, editing and deleting the student details. It also provides a less time-
consuming process for viewing, adding, editing and deleting the marks of the
students. This project “Student Record System” provides us a simple interface for
maintenance of student information. It can be used by educational institutes or
colleges 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. Without Student Record 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.

Project Report
On
Student Record System
1
S. no Index
1 ACKNOWLEDGEMENT

2 ABSTRACT

3 INTRODUCTION
(Project Module Details) LIST
4 FEASIBILITY STUDY OF

5 SCOPE OF THE PROJECT


6 SOFTWARE AND HARDWARE REQUIREMENTS

7 SYSTEM DESIGN
(Use Case, ER, DFDs)
8 DATABASE DESIGN
(Tables Structure and Class Diagram )
9 SYSTEM TESTING

10 OUTPUT SCREEN OF THE PROJECT


11 CONCLUSION

12 BIBLIOGRAPHY

FIGURES

2
FIG NO. FIGURE NAME PAGE NO.
1. Class Diagram 34
2. ER Diagram 22
3. DFD Diagram 24-27

3
LIST OF TABLESACKNOWLEDGEMENT

TABLE NO. TOPICS PAGE NO.

1. Versions of MySQL 14
2. Requirement Specification 16-17
3. Database Table 29-33

4
In the accomplishment of this project successfully, many people have best owned upon me
their blessings and the heart pledge support, this time I am utilizing to thank all the people
who have been concerned with this project.

I am highly indebted to (Name of your Mentor) for their guidance and constant supervision as
well as for providing necessary information regarding the project & also for their support in
completing the project. I am extremely thankful to him for providing such a nice support and
guidance, although he had busy schedule managing the corporate affairs.

I would like to express my gratitude towards my parents & member of (College Name) for
their kind co-operation and encouragement which help me in completion of this project.

I am thankful to and fortunate enough to get constant encouragement, support and guidance
from all Teaching staffs of [Department name] which helped us in successfully completing our
project work.

Project Associates:

5
---------

CHAPTER-1
INTRODUCTION
1.1 Student Record System
“Student Record System” is a web-based technology which allow the
administrator of any organization to edit and find out the personal details of a
student. In this web application Student must be registered by admin. This web
application provides a way to effectively control record & track the student details.

Student Record 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 Records System” deals with the
various activities related to the students.

As we know that, many Colleges, Institutes and academic centers work in manual
mode for their day-to-day operations. Whether it is registration of students,
making registration report or other operations. All such operations are handled on
files or registers manually. This project tends to use latest advancements in
information technology and provide a central web solution for automating some
basic mundane tasks. This project intends to automate some of the basic
operations of an institute or college or a school. Scope would be to provide basic
functionalities using a web application so that that manual process can be
automated.

6
In “Student Record System” project we use Python language with Django
framework and MySQL database and it has one module i.e.

1.2 Admin Module:

 Admin Secure login.


 Dashboard: In this section, admin can view the total no Courses, Subjects
and Students.
 Course: In this section admin can manage the courses (Add, edit, delete).
 Subject: In this section, admin can manage the subjects course wise (Add,
edit, delete).
 Register: In this section, admin can add student’s details.
 View Students: In this section, admin can view, edit and delete student
details.
 Student Report: In this section, admin can generate how many student
registration has been done between two dates.
 Search Student: In this section, admin can search a particular student by
their roll number and phone number.
 Change password: in this section, admin can change their password.
 Admin Profile: In this section, admin can update the profile details.
 Logout

Advantages:

7
 It helps the admin to handle and manage Student data.
 Reduce time consumption.
 Reduce error scope.
 All system managements are automated.
 Centralized database management.
 Easy operations for operator of the system.
 No paper work requirement.

Disadvantages:

 The system can only handle single admin.

8
CHAPTER-2
TECHNOLOGY

APACHE:
The Apache HTTP Server Project is an effort to develop and maintain an open-
source HTTP server for modern operating systems including UNIX and Windows.
The goal of this project is to provide a secure, efficient and extensible server that
provides HTTP services in sync with the current HTTP standards.

The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most
popular web server on the Internet since April 1996. It has celebrated its 20th
birthday as a project in February 2015.

Python:

Python is an interpreted, object-oriented, high-level programming language with


dynamic semantics. Its high-level built-in data structures, combined with dynamic
typing and dynamic binding, make it very attractive for Rapid Application
Development, as well as for use as a scripting or glue language to connect existing
components together. Python's simple, easy to learn syntax emphasizes readability
and therefore reduces the cost of program maintenance. Python supports modules
and packages, which encourages program modularity and code reuse. The Python

9
interpreter and the extensive standard library are available in source or binary form
without charge for all major platforms, and can be freely distributed.

Often, programmers fall in love with Python because of the increased productivity
it provides. Since there is no compilation step, the edit-test-debug cycle is
incredibly fast. Debugging Python programs is easy: a bug or bad input will never
cause a segmentation fault. Instead, when the interpreter discovers an error, it
raises an exception. When the program doesn't catch the exception, the interpreter
prints a stack trace. A source level debugger allows inspection of local and global
variables, evaluation of arbitrary expressions, setting breakpoints, stepping
through the code a line at a time, and so on. The debugger is written in Python
itself, testifying to Python's introspective power. On the other hand, often the
quickest way to debug a program is to add a few print statements to the source: the
fast edit-test-debug cycle makes this simple approach very effective.

Django

What is Django?

Django is a Python framework that makes it easier to create web sites using
Python.

Django takes care of the difficult stuff so that you can concentrate on building
your web applications.

10
Django emphasizes reusability of components, also referred to as DRY (Don't
Repeat Yourself), and comes with ready-to-use features like login system,
database connection and CRUD operations (Create Read Update Delete).

Django is especially helpful for database driven websites.

How does Django Work?

Django follows the MVT design pattern (Model View Template).

 Model - The data you want to present, usually data from a database.
 View - A request handler that returns the relevant template and content -
based on the request from the user.
 Template - A text file (like an HTML file) containing the layout of the web
page, with logic on how to display the data.

Model

The model provides data from the database.

In Django, the data is delivered as an Object Relational Mapping (ORM), which is


a technique designed to make it easier to work with databases.

11
The most common way to extract data from a database is SQL. One problem with
SQL is that you have to have a pretty good understanding of the database structure
to be able to work with it.

Django, with ORM, makes it easier to communicate with the database, without
having to write complex SQL statements.

The models are usually located in a file called models.py.

View

A view is a function or method that takes http requests as arguments, imports the
relevant model(s), and finds out what data to send to the template, and returns the
final result.

The views are usually located in a file called views.py.

Template

A template is a file where you describe how the result should be represented.

Templates are often .html files, with HTML code describing the layout of a web
page, but it can also be in other file formats to present other results, but we will
concentrate on .html files.

Django uses standard HTML to describe the layout, but uses Django tags to add
logic:

<h1>My Homepage</h1>

12
<p>My name is {{firstname}}. </p>

The templates of an application is located in a folder named templates.

URLs

Django also provides a way to navigate around the different pages in a website.

When a user requests a URL, Django decides which view it will send it to.

This is done in a file called urls.py.

So, what is Going On?

When you have installed Django and created your first Django web application,
and the browser requests the URL, this is basically what happens:

1. Django receives the URL, checks the urls.py file, and calls the view that
matches the URL.
2. The view, located in views.py, checks for relevant models.
3. The models are imported from the models.py file.
4. The view then sends the data to a specified template in the template folder.
5. The template contains HTML and Django tags, and with the data it returns
finished HTML content back to the browser.

Django can do a lot more than this, but this is basically what you will learn in this
tutorial, and are the basic steps in a simple web application made with Django.

13
Django History

Django was invented by Lawrence Journal-World in 2003, to meet the short


deadlines in the newspaper and at the same time meeting the demands of
experienced web developers.

Initial release to the public was in July 2005.

Latest version of Django is 4.0.3 (March 2022).

Django Admin

Django Admin is a really great tool in Django, it is actually a CRUD* user


interface of all your models!

It is free and comes ready-to-use with Django:

What is a database?

In Django, there is inbuilt database known as dbsqlite3.

SQLite is embedded relational database management system. It is self-contained,


server less, zero configuration and transactional SQL database engine.

SQLite is different from other SQL databases because unlike most other SQL
databases, SQLite does not have a separate server process. It reads and writes
directly to ordinary disk files. A complete SQL database with multiple tables,
indices, triggers, and views, is contained in a single disk file.
14
MYSQL
MySQL is the world’s most popular open-source database. According to DB-
Engines, MySQL ranks as the second-most-popular database, behind Oracle
Database. MySQL powers many of the most accessed applications, including
Facebook, Twitter, Netflix, Uber, Airbnb, Shopify, and Booking.com.
Since MySQL is open source, it includes numerous features developed in close
cooperation with users over more than 25 years. So, it’s very likely that your
favorite application or programming language is supported by MySQL Database.

 MySQL is a relational database management system


 MySQL is open-source
 MySQL is free
 MySQL is ideal for both small and large applications
 MySQL is very fast, reliable, scalable, and easy to use
 MySQL is cross-platform
 MySQL is compliant with the ANSI SQL standard
 MySQL was first released in 1995
 MySQL is developed, distributed, and supported by Oracle Corporation

15
Versions of MySQL:

Version Released End of Description


Name Date Support

MySQL 5.1 14-11-2008 December This version contains the releases of MySQL 5.0 to MySQL 5.1.73
2013 versions. To read about the first version of MySQL, click here.

MySQL 5.5 03-12-2010 December This version contains the releases of MySQL 5.5 to MySQL 5.5.62
2018 versions.

MySQL 5.6 05-02-2013 February This version contains the releases of MySQL 5.6 to MySQL 5.5.45
2021 versions.

MySQL 5.7 21-10-2015 October This version contains the releases of MySQL 5.7 to MySQL 5.6.27
2023 versions.

MySQL 8.0 19-04-2018 April 2026 This version contains the releases of MySQL 8.0 to MySQL 8.0.21
versions.

Feasibility analysis
Whenever we design a new system, normally the management will ask for a
feasibility report of the new system. The management wants to know the
technicalities and cost involved in creation of new system.

 Technical feasibility
 Economic feasibility

16
 Physical feasibility

Technical feasibility:

Technical feasibility involves study to establish the technical capability of the


system being created to accomplish all requirements to the Studentstudent. The
system should be capable of handling the proposed volume of data and provide
Students and operating environment to increase their efficiency.
For example, system should be capable of handling the proposed volume of data
and provide Students.
Economic feasibility:

Economic feasibility involves study to establish the cost benefit analysis. Money
spent on the system must be recorded in the form of benefit from the system. The
benefits are of two types:

Tangible benefits:
- Saving man labor to do tedious tasks saves time.
-
Intangible benefits:
- Improves the quality of organization.
Physical feasibility:

17
It involves study to establish the time responses of the new system being created.
For e.g., if the new system takes more than one day to prepare crucial finance
statement for the management, wherever it was required in an hour, the system
fails to provide the same.

It should be clearly establishestablished that the new system requirements in the


form of time responses would be completely met with. It may call for increase in
cost. If the required cost is sacrificed then the purpose of the new system may not
be achieved even if it was found to be technically feasible.

SOFTWARE AND HARDWARE REQUIREMENTS

Hardware Requirement:

Processor i3 gen 10th- 2.0 GHz


RAM 4 GB
SSD 128 GB

Software Requirement:

Webserver APACHE
Database Server MYSQL
18
Operating System Windows or any equivalent OS
Web Browser Google chrome or any
compatible browser
Frontend HTML
Scripting Language Javascript
IDE PyCharm
Technology Python
Framework Django

SYSTEM DESIGN
Design is the first step in the development phase for any techniques and principles
for the purpose of defining a device, a process or system in sufficient detail to
permit its physical realization.

Once the software requirements have been analyzed and specified the software
design involves three technical activities - design, coding, implementation and
testing that are required to build and verify the software.

The design activities are of main importance in this phase, because in this activity,
decisions ultimately affecting the success of the software implementation and its
ease of maintenance are made. These decisions have the final bearing upon
reliability and maintainability of the system. Design is the only way to accurately
translate the customer’s requirements into finished software or a system.

19
Design is the place where quality is fostered in development. Software design is a
process through which requirements are translated into a representation of
software. Software design is conducted in two steps. Preliminary design is
concerned with the transformation of requirements into data.

Unified Modelling Language Diagrams (UML):

 The unified modelling language allows the software engineer to express an


analysis model using the modelling notation that is governed by a set of
syntactic semantic and pragmatic rules.
 A UML system is represented using five different views that describe the
system from distinctly different perspective. Each view is defined by a set of
diagrams, which is as follows.
Student Model View
i. This view represents the system from the student’s perspective.
ii. The analysis representation describes a usage scenario from the student’s
perspective.
Structural model view
 In this model the data and functionality are arrived from inside the system.
 This model view models the static structures.
Behavioural Model View
 It represents the dynamic of behavioural as parts of the system, depicting
the interactions of collection between various structural elements
described in the student model and structural model view.

20
Implementation Model View
 In this the structural and behavioural as parts of the system are
represented as they are to be built.
 Environmental Model View
In these the structural and behavioural aspects of the environment in which the
system is to be implemented are represented.
UML is specifically constructed through two different domains they are
 UML Analysis modelling, which focuses on the student model and
structural model views of the system?
 UML design modelling, which focuses on the behavioural modelling,
implementation modelling and environmental model views.

21
Use Case Diagram Admin

Sign in

Dashboard

Manage Course
(Add/Update/Del)

Manage Subject
(Add/Update/Del)

Manage Students
(Add/Update/Del)

Generate Report

Search Student

Change Password

Password Recovery

Admin Profile

22
ER Diagram:

The ER model is a conceptual data model that views the real world as entities and
relationships. A basic component of the model is the Entity-Relationship diagram
which is used to visually represent data objects. Since Chen wrote his paper the
model has been extended and today it is commonly used for database design for
the database designer, the utility of the ER model is:
• It maps well to the relational model. The constructs used in the ER model
can easily be transformed into relational tables.
• It is simple and easy to understand with a minimum of training. Therefore,
the model can be used by the database designer to communicate the design to
the end user.
• In addition, the model can be used as a design plan by the database developer
to implement a data model in specific database management software.
The symbols used for the basic ER constructs are:
• Entities are represented by labeled rectangles. The label is the name of the
entity. Entity names should be singular nouns.
• Relationships are represented by a solid line connecting two entities. The
name of the relationship is written above the line. Relationship names should
be verbs
• Attributes, when included, are listed inside the entity rectangle. Attributes
which are identifiers are underlined. Attribute names should be singular
nouns.
• Cardinality of many is represented by a line ending in a crow's foot. If the
crow's foot is omitted, the cardinality is one.

23
ER Diagram

24
Data Flow Diagrams

A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system requirement
graphically. It can be manual, automated, or a combination of both.

It shows how data enters and leaves the system, what changes the information, and where data
is stored.

The objective of a DFD is to show the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system. The DFD is also called as a data
flow graph or bubble chart.

The following observations about DFDs are essential:

1. All names should be unique. This makes it easier to refer to elements in the DFD.
2. Remember that DFD is not a flow chart. Arrows is a flow chart that represents the order
of events; arrows in DFD represents flowing data. A DFD does not involve any order of
events.
3. Suppress logical decisions. If we ever have the urge to draw a diamond-shaped box in a
DFD, suppress that urge! A diamond-shaped box is used in flow charts to represents
decision points with multiple exists paths of which the only one is taken. This implies
an ordering of events, which makes no sense in a DFD.
4. Do not become bogged down with details. Defer error conditions and error handling
until the end of the analysis.

25
Standard symbols for DFDs are derived from the electric circuit diagram analysis and are
shown in fig:

Circle: A circle (bubble) shows a process that transforms data inputs into data outputs.

Data Flow: A curved line shows the flow of data into or out of a process or data store.

Data Store: A set of parallel lines shows a place for the collection of data items. A data store
indicates that the data is stored which can be used at a later stage or by the other processes in a
different order. The data store can have an element or group of elements.

26
Source or Sink: Source or Sink is an external entity and acts as a source of system inputs or
sink of system outputs.

Zero Level DFD


Subject
Management

Password Admin
Management
Management
SRS

Course
Student
Management
Management

Authorization
Management

27
First Level DFD

Subject
Course
Management
Management

Admin
Password SRS
Management Management

Student Search
Students
Management

Authorization
Generate
Management
Report

28
Second Level DFD

Check Dashboard
Admin Login to Roles of
system access

Manage Course
(Add/Update/Del)

Manage Subject
Forgot Check
(Add/Update/Del)
Password Credential

Manage Student
(Add/Update/Del)

Manage
Modules Generate Report

Search Student

Change
Password/Profile

29
DATABASE DESIGN
The data in the system has to be stored and retrieved from database. Designing the
database is part of system design. Data elements and data structures to be stored
have been identified at analysis stage. They are structured and put together to
design the data storage and retrieval system.

A database is a collection of interrelated data stored with minimum redundancy to


serve many Students quickly and efficiently. The general objective is to make
database access easy, quick, inexpensive and flexible for the Student. Relationships
are established between the data items and unnecessary data items are removed.
Normalization is done to get an internal consistency of data and to have minimum
redundancy and maximum stability. This ensures minimizing data storage required,
minimizing chances of data inconsistencies and optimizing for updates. The
MySQL database has been chosen for developing the relevant databases.

30
Database Table:
SRS contains 13 MySQL tables (In this MySQL 4 table is customized and 9 table
made by default in django):

srsapp_customuser: This table store the login and personal details of admin.
This store admin personal and login details.

srsapp_course: This table store the details of course.

31
srsapp_subjects: This table store the details of subjects.

srsapp_student: This table store the details of students.

Default Tables Details

32
authentication_customuser_groups table Structure: This table by
default table.

authentication_customuser_user_permissions table Structure: This table by default table.

auth_group table Structure: This table in Django is part of the Django


authentication system and is used to represent groups of users.

auth_group_permissions table Structure: This table in Django is a part of


the permission system and is used to manage the relationship between user groups

and permissions.

33
auth_permission table Structure: This table in Django is used to store
information about the permissions defined.

django_admin_log table Structure: This table is used to store records of


actions taken by administrators or users through the Django admin interface.

34
django_content_type table Structure: This table in Django is a system table that
is used to store information about each model (database table) in your Django project.

django_migrations table Structure: This table is part of the database


schema and is used to keep track of which migrations have been applied to the
database.

django_session table Structure: This table store the session data for user.

35
Class Diagram:
The class diagram shows a set of classes, interfaces, collaborations and their
relationships.

36
SYSTEM TESTING

SOFTWARE TESTING TECHNIQUES:

37
Software testing is a critical element of software quality assurance and represents the

ultimate review of specification, designing and coding.

TESTING OBJECTIVES:
1. Testing is process of executing a program with the intent of finding an error.

2. A good test case design is one that has a probability of finding an as yet

undiscovered error.

3. A successful test is one that uncovers an as yet undiscovered error.

These above objectives imply a dramatic change in view port.


Testing cannot show the absence of defects, it can only show that software errors are

present.

There are three types of testing strategies

1. Unit test
2. Integration test
3. Performance test

Unit Testing:

Unit testing focuses verification efforts on the smallest unit of software design module. The
unit test is always white box oriented. The tests that occur as part of unit testing are testing

38
the module interface, examining the local data structures, testing the boundary conditions,
execution all the independent paths and testing error-handling paths.

Integration Testing:

Integration testing is a systematic technique or construction the program structure while at


the same time conducting tests to uncover errors associated with interfacing. Scope of
testing summarizes the specific functional, performance, and internal design characteristics
that are to be tested. It employs top-down testing and bottom-up testing methods for this
case.

Performance Testing:

Timing for both read and update transactions should be gathered to determine whether
system functions are being performed in an acceptable timeframe.

CHAPTER-4

39
CHAPTER-3

CODING

HTML CODE:

<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-
to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>Student Record System||Login Page</title>
<! -- loader-->
<link href="{% static 'assets/css/pace.min.css'%}" rel="stylesheet"/>
<script src="{% static 'assets/js/pace.min.js'%}"></script>
<! --favicon-->

40
<link rel="icon" href="{% static 'assets/images/favicon.ico'%}" type="image/x-
icon">
<!-- Bootstrap core CSS-->
<link href="{% static 'assets/css/bootstrap.min.css'%}" rel="stylesheet"/>
<!-- animate CSS-->
<link href="{% static 'assets/css/animate.css'%}" rel="stylesheet"
type="text/css"/>
<!-- Icons CSS-->
<link href="{% static 'assets/css/icons.css'%}" rel="stylesheet" type="text/css"/>
<!-- Custom Style-->
<link href="{% static 'assets/css/app-style.css'%}" rel="stylesheet"/>
</head>
<body class="bg-theme bg-theme1">
<!-- Start wrapper-->
<div id="wrapper">

<div class="loader-wrapper"><div
class="lds-ring"><div></div><div></div><div></div><div></div></div></div>
<div class="card card-authentication1 mx-auto my-5">
<div class="card-body">
<div class="card-content p-2">
<div class="text-center">
41
<h4>Student Records System</h4>
</div>
<div class="card-title text-uppercase text-center py-3">Sign In</div>
{% include 'includes/messages.html' %}
<form action="{% url 'doLogin' %}" method="post">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputUsername" class="sr-only">Email</label>
<div class="position-relative has-icon-right">
<input type="text" id="email" name="email" class="form-control input-shadow"
placeholder="Enter Email ID">
<div class="form-control-position">
<i class="icon-user"></i>
</div>
</div>
</div>
<div class="form-group">
<label for="exampleInputPassword" class="sr-only">Password</label>
<div class="position-relative has-icon-right">
<input type="password" id="password" name="password" class="form-control
input-shadow" placeholder="Enter Password">

42
<div class="form-control-position">
<i class="icon-lock"></i>
</div>
</div>
</div>
<button class="btn btn-light btn-block">Sign In</button>
</div>
</form>
</div>
</div>
</div>
</div><!--wrapper-->
<!-- Bootstrap core JavaScript-->
<script src="{% static 'assets/js/jquery.min.js'%}"></script>
<script src="{% static 'assets/js/popper.min.js'%}"></script>
<script src="{% static 'assets/js/bootstrap.min.js'%}"></script>
<!-- sidebar-menu js -->
<script src="{% static 'assets/js/sidebar-menu.js'%}"></script>
<!-- Custom scripts -->
<script src="{% static 'assets/js/app-script.js'%}"></script>
</body>
43
</html>
{% extends 'base.html' %}
{% block content %}
<div class="row mt-3">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div class="card-block">
<h4 class="sub-title">Search Students</h4>
<form method="get" action="{% url 'search-students' %}">
{% csrf_token %}
<div class="form-group row">
<label class="col-sm-2 col-form-label">Search(By Rollnumber or
Mobilenumber)</label>
<div class="col-sm-10">
<input type="text" id="query" name="query" class="form-control" required="">
</div>
</div>
<button type="submit" class="btn btn-primary btn-user
btn-block">Search</button>
</form>

44
</div>
<br>
{% if stu %}
<div class="table-responsive">
<table class="table">
{% include 'includes/messages.html' %}
<thead>
<tr>
<th scope="col">S No</th>
<th scope="col">Roll Number</th>
<th scope="col">Student Name</th>
<th scope="col">Email</th>
<th scope="col">Mobile Number</th>
<th scope="col">Course</th>
<th scope="col">Subjects</th>
<th scope="col">Created Date</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
{% for i in stu %}
45
<tr>
<th scope="row">{{i.id}}</th>
<th scope="row">{{i.roll_number}}</th>
<th scope="row">{{i.fname}} {{i.mname}} {{i.lname}}</th>
<td>{{i.email}}</td>
<td>{{i.mobno}}</td>
<th scope="row">{{i.course_id.coursefullname}}
({{i.course_id.courseshortname}})</th>
<td>{{i.subjects_id.subject1}}+{{i.subjects_id.subject2}}+
{{i.subjects_id.subject3}}+{{i.subjects_id.subject4}}+
{{i.subjects_id.subject5}}</td>

<td>{{i.created_at}}</td>
<td><a href="{% url 'update_student' i.id %}" class="btn btn-sm bg-success">
Edit
</a><a href="{% url 'delete_Students' i.id %}" class="btn btn-sm bg-danger"
onclick="return confirm('Are you sure you want to delete this student?')">
Delete
</a></td>
</tr>{% endfor %}
</tbody>

46
</table>
{% else %}
{% if query %}
<p style="font-size: 20px; color: blue; text-align: center;">No records found for:
"{{query}} “</p>
{% endif %}
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}

47
CSS CODE:

/* Google Font*/
@import url('https://fonts.googleapis.com/css?
family=Roboto:400,500,700&display=swap');
/* General */
html {
font-family: 'Roboto', sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent
}
html{
height: 100%;
}
@-ms-viewport {
width: device-width
}
body {
background-color: #000;

48
font-family: 'Roboto', sans-serif;
font-size: 15px;
color: rgba(255,255,255,.85);
letter-spacing: 0.5px;
}
[tabindex="-1"]:focus {
outline: 0!important
}
::selection {
background: rgba(255, 255, 255, 0.2);
}
select option {
background: #000;
}
::placeholder {
color: #fff !important;
font-size: 13px;
opacity: .5 !important; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #fff !important;
49
}
::-ms-input-placeholder { /* Microsoft Edge */
color: #fff !important;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
color: #ffffff;
}
.h1, h1 {
font-size: 48px;
line-height: 52px;
}
.h2, h2 {
font-size: 38px;
line-height: 42px;
}
.h3, h3 {
font-size: 30px;
line-height: 34px;
}
.h4, h4 {
font-size: 24px;
50
line-height: 28px;
}
.h5, h5 {
font-size: 18px;
line-height: 22px;
}
.h6, h6 {
font-size: 14px;
line-height: 18px;
}

.display-1 {
font-size: 6rem
}
.display-2 {
font-size: 5.5rem
}
.display-3 {
font-size: 4.5rem
}
.display-4 {
51
font-size: 3.5rem
}
.line-height-0{
line-height:0;
}
.line-height-5 {
line-height: 5px;
}

.line-height-10 {
line-height: 5px;
}

code {
font-size: 87.5%;
color: #ffed16;
word-break: break-word;
}
.blockquote-footer{
color: #cecece;
}
52
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
margin-top: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, .1)
}
p{
margin-bottom: .65rem
}

:focus {
outline: 0!important
}
a{
color: #ffffff;
}
a{
outline: none!important
}
53
a:hover{
color: #ffffff;
text-decoration: none;
}
a.text-muted:focus, a.text-muted:hover {
color: #748690;
}
hr {
border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.small, small {
font-size: 75%;
font-weight: 400;
}
.small-font{
font-size:14px;
}
.extra-small-font{
font-size:12px;
}
.breadcrumb-item.active {
54
color: #ffffff;
}
.breadcrumb-item+.breadcrumb-item::before {
color: #ffffff;
}row{
margin-right: -12.5px;
margin-left: -12.5px;
}

.col-xl-auto{
padding-right: 12.5px;
padding-left: 12.5px;
}

/* Dropdown Menu */
.dropdown-menu {
border: 0px solid rgba(0,0,0,.15);
-webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08)!important;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08)!important;
font-size:15px;
55
background-color: #000;
color: #ffffff;
}

.dropdown-menu ul{
margin-top: 0px;
}

.dropdown-divider{
margin: 0;
border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.dropdown-item{
padding: .70rem 1.5rem;
color: #ffffff;
}

.dropdown-item:hover{
padding: .70rem 1.5rem;
background-color: #000;
56
color: #ffffff;
}

.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #000000;
}
.dropdown-toggle-nocaret:after {
display: none
}

/* User Details */
.user-profile img {
width:35px;
height:35px;
border-radius: 50%;
box-shadow: 0 16px 38px -12px rgba(0,0,0,.56), 0 4px 25px 0 rgba(0,0,0,.12), 0
8px 10px -5px rgba(0,0,0,.2);
}

57
.user-details .media .avatar img {
width: 50px;
height: 50px;
border-radius: 50%;
}

.user-details .media .media-body .user-title {


font-size: 14px;
color: #000;
font-weight: 600;
margin-bottom: 2px;
}

.user-details .media .media-body .user-subtitle {


font-size: 13px;
color: #232323;
margin-bottom: 0;
}

/* SearachBar */
.search-bar{
58
margin-left: 20px;
position: relative;
}

.search-bar input{
border: 0px solid #f1f1f1;
font-size: 15px;
width: 530px;
border-radius: 0.25rem;
height: 34px;
padding: .375rem 2.0rem .375rem .75rem;
background-color: rgba(255, 255, 255, 0.2);
}

.search-bar input::placeholder {
color: #fff !important;
font-size: 13px;
opacity: .5 !important; /* Firefox */
}

59
.search-bar input:focus{
background-color: rgba(0,0,0,.2);
border: 0px solid #f1f1f1;
box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.45)
}

.search-bar a i{
position: absolute;
top: 8px;
right: 15px;
color: #fff;
font-size: 16px;
}
.product-img {
height: 32px;
}

.skill-img{
height: 35px;
}
60
.page-title{
font-size: 20px;
line-height: 20px;
}

.breadcrumb{
padding: 0;
background-color: transparent;
}

.sidebar-menu li a i:first-child {
margin-right: 10px;
font-size: 18px;
}

.sidebar-menu li a i:last-child {
margin-right: 10px;
font-size: 12px;
}

61
.row.row-group>div {
border-right: 1px solid rgba(255, 255, 255, 0.12)
}

.row.row-group>div:last-child{
border-right: none;
}

/*Buttons */
.btn{
font-size: .70rem;
font-weight: 500;
letter-spacing: 1px;
padding: 9px 19px;
border-radius: .25rem;
text-transform: uppercase;
box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
}
.btn-link{
color: #14abef;
}
62
.btn:focus{
box-shadow:none;
}
.btn-lg {
padding: 12px 38px;
font-size: .90rem;
}
btn-sm {
font-size: 10px;
font-weight: 500;
padding: 6px 15px;
}
btn-group-sm>.btn{
font-size: 10px;
}
btn-primary {
color: #fff;
background-color: #7934f3;
border-color: #7934f3
}
btn-primary:hover {
63
color: #fff;
background-color: #6a27e0;
border-color: #6a27e0
}

.btn-primary.focus, .btn-primary:focus {
box-shadow:none;
}

.btn-primary.disabled, .btn-primary:disabled {
color: #fff;
background-color: #6a27e0;
border-color: #6a27e0
}
btn-primary:not(:disabled):not(.disabled).active, .btn-
primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle
{
color: #fff;
background-color: #6a27e0;
border-color: #6a27e0
}

64
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-
primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-
toggle:focus {
box-shadow:none;
}
btn-secondary {
color: #fff;
background-color: #94614f;
border-color: #94614f
}

65
JavaScript CODE:

$(function() {

"use strict";

//sidebar menu js

$.sidebarMenu($('.sidebar-menu'));

// === toggle-menu js

$(".toggle-menu").on("click", function(e) {

e.preventDefault();

$("#wrapper").toggleClass("toggled");

});

// === sidebar menu activation js

$(function() {

for (var i = window.location, o = $(".sidebar-menu a").filter(function() {

return this.href == i;

}).addClass("active").parent().addClass("active"); ;) {

66
if (!o.is("li")) break;

o = o.parent().addClass("in").parent().addClass("active");

}),

/* Top Header */

$(document).ready(function(){

$(window).on("scroll", function(){

if ($(this).scrollTop() > 60) {

$('.topbar-nav .navbar').addClass('bg-dark');

} else {

$('.topbar-nav .navbar').removeClass('bg-dark');

});

67
});

/* Back To Top */

$(document).ready(function(){

$(window).on("scroll", function(){

if ($(this).scrollTop() > 300) {

$('.back-to-top').fadeIn();

} else {

$('.back-to-top').fadeOut();

});

$('.back-to-top').on("click", function(){

$("html, body").animate({ scrollTop: 0 }, 600);

return false;

});

68
});

$(function () {

$('[data-toggle="popover"]').popover()

})

$(function () {

$('[data-toggle="tooltip"]').tooltip()

})

// theme setting

$(".switcher-icon").on("click", function(e) {

e.preventDefault();

$(".right-sidebar").toggleClass("right-toggled");

});

$('#theme1').click(theme1);

$('#theme2').click(theme2);

69
function theme1() {

$('body').attr('class', 'bg-theme bg-theme1');

function theme2() {

$('body').attr('class', 'bg-theme bg-theme2');

function theme3() {

$('body').attr('class', 'bg-theme bg-theme3');

function theme4() {

$('body').attr('class', 'bg-theme bg-theme4');

function theme5() {

$('body').attr('class', 'bg-theme bg-theme5');

70
function theme6() {

$('body').attr('class', 'bg-theme bg-theme6');

function theme7() {

$('body').attr('class', 'bg-theme bg-theme7');

function theme8() {

$('body').attr('class', 'bg-theme bg-theme8');

function theme9() {

$('body').attr('class', 'bg-theme bg-theme9');

function theme10() {

$('body').attr('class', 'bg-theme bg-theme10');

71
function theme11() {

$('body').attr('class', 'bg-theme bg-theme11');

function theme12() {

$('body').attr('class', 'bg-theme bg-theme12');

function theme13() {

$('body').attr('class', 'bg-theme bg-theme13');

function theme14() {

$('body').attr('class', 'bg-theme bg-theme14');

function theme15() {

$('body').attr('class', 'bg-theme bg-theme15');

});

72
PYTHON CODE:

from django.shortcuts import render,redirect,HttpResponse


from srsapp.EmailBackEnd import EmailBackEnd
from django.contrib.auth import logout,login
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from srsapp.models import CustomUser,Course,Subjects,Student
from django.contrib.auth import get_user_model
from django.http import JsonResponse
import logging
import random
from django.shortcuts import get_object_or_404
from datetime import datetime
User = get_user_model()

def BASE(request):
return render(request,'base.html')

@login_required(login_url='/')
def DASHBOARD(request):

73
course_count = Course.objects.all().count
sub_count = Subjects.objects.all().count
student_count = Student.objects.all().count
context = {
'course_count':course_count,
'sub_count':sub_count,
'student_count':student_count,
}
return render(request,'dashboard.html',context)

def LOGIN(request):
return render(request,'login.html')

def doLogin(request):
if request.method == 'POST':
user = EmailBackEnd.authenticate(request,
username=request.POST.get('email'),
password=request.POST.get('password')
)
if user!=None:
login(request,user)
74
return redirect('dashboard')

else:
messages.error(request,'Email or Password is not valid')
return redirect('login')
else:
messages.error(request,'Email or Password is not valid')
return redirect('login')
def doLogout(request):
logout(request)
return redirect('login')

login_required(login_url='/')
def PROFILE(request):
user = CustomUser.objects.get(id = request.user.id)
context = {
"user":user,
}
return render(request,'profile.html',context)

@login_required(login_url = '/')
75
def PROFILE_UPDATE(request):
if request.method == "POST":
profile_pic = request.FILES.get('profile_pic')
first_name = request.POST.get('first_name')
last_name = request.POST.get('last_name')
email = request.POST.get('email')
username = request.POST.get('username')
password = request.POST.get('password')

try:
customuser = CustomUser.objects.get(id = request.user.id)
customuser.first_name = first_name
customuser.last_name = last_name

if password !=None and password != "":


customuser.set_password(password)
if profile_pic !=None and profile_pic != "":
customuser.profile_pic = profile_pic
customuser.save()
messages.success(request,"Your profile has been updated successfully")
return redirect('profile')
76
except:
messages.error(request,"Your profile updation has been failed")
return render(request, 'profile.html')
@login_required(login_url = '/')
def CHANGE_PASSWORD(request):
context ={}
ch = User.objects.filter(id = request.user.id)

if len(ch)>0:
data = User.objects.get(id = request.user.id)
context["data"]:data
if request.method == "POST":
current = request.POST["cpwd"]
new_pas = request.POST['npwd']
user = User.objects.get(id = request.user.id)
un = user.username
check = user.check_password(current)
if check == True:
user.set_password(new_pas)
user.save()
messages.success(request,'Password Change Succeesfully!!!')
77
user = User.objects.get(username=un)
login(request,user)
else:
messages.success(request,'Current Password wrong!!!')
return redirect("change_password")
return render(request,'change-password.html')

Manage.py
"""Django's command-line utility for administrative tasks."""
import os
import sys

def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'studentrecordsys.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "

78
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)

if __name__ == '__main__':
main()

79
SCREENSHOTS:

Login Page:

Dashboard:

80
Profile:

Change Password:

81
Add Course:

Manage Course:

82
Update Course:

Add Subject:

83
Register Students:

84
Manage Students:

85
Update Students:

86
Between Dates Report of Student Registrations:

Search Students:

87
CHAPTER-4
CONCLUSION

The project titled as Student Record System was deeply studied and analyzed to design the
code and implement. It was done under the guidance of the experienced project guide. All the
current requirements and possibilities have been taken care during the project time.

Computer has got clear advantage over the manual system. The computerized system is more
reliable, efficient and fast at the end of the project, I can say that computer play a very crucial
role in the development of firm. All the daily reports generated by the system are to be
checked by the concerned official so as to ensure that all the transactions have been put
through in appropriate accounts and this is tallied with the new vouchers. Computer does
maximum work with in minimum time. Because it is used in every field so that it provides
comfort and suitability to everyone. Providing maximum facilities and comfort to customers
to customers is main goal of the firm. To achieve this goal, other modern facilities relating to
computer should have to be provided.

88
CHAPTER-5
FUTURE REFFERENCE

The proposed system provides a simple student record pages that lets you view
students, add students, create new student accounts and edit existing ones. Also
provides tools to disabled or delete students, manage permission.

The system works and fulfills all the functionalities as per the proposed system.

It will provide reduced response time against the queries made by different
students.

All possible features such as verification, validation, security, student friendliness


etc. have been considered.

Introduction

 Overview of the Student Record System.


 Purpose and scope of the system.
 Key stakeholders.

System Architecture

 High-level architecture diagram.


 Description of major components (e.g., database, application server, user interface).
 Integration points with other systems.

Data Model

 ER (Entity-Relationship) diagrams.
 Description of key entities (e.g., students, courses, grades).

89
 Data dictionary with definitions of all data elements.

User Roles and Permissions

 Detailed roles (e.g., administrator, teacher, student).


 Permissions associated with each role.
 Access control mechanisms.

User Interface

 Wireframes or screenshots of the user interface.


 Description of key screens and functionalities (e.g., student registration, grade entry).

90
BIBLIOGRAPHY

For Python and Django

1. Django homepage. http://www.djangoproject.com/.


2. Python documentation. http://www.python.org/doc.
3. Django (web framework). http://en.wikipedia.org/wiki/Django.
4. Django documentation. http://docs.djangoproject.com.
5. Python (programming language). http://en.wikipedia.org/wiki/Python.

6. Books: Web Development with Django by Ben Shaw, Saurabh,


a. Django 4 By Example by Antonio Mele

For MySQL

1. https://www.mysql.com/
2. http://www.mysqltutorial.org

For XAMPP
1. https://www.apachefriends.org/download.html

91
92

You might also like