0% found this document useful (0 votes)
29 views54 pages

Anshit Indeed Learning

Uploaded by

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

Anshit Indeed Learning

Uploaded by

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

CHAPTER 1

INTRODUCTION

1.1. INTRODUCTION OF THE PROJECT:--

Indeed Learning is a software that helps the teachers to schedule tasks and assign
them to the respective students. Indeed Learning is one of the fundamental activities
in education.
All the assignment and project are assigned with a start and end date, student update
the task on completion. Teachers can view status of task and reports are being
generated after evolution . By using our Indeed Learning portal admin/teachers can
upload the assignment to a specific group of students. Students can be download
and read the uploaded assignment. There is a facility to upload the respective
document after completion.

1
1.2. OBJECTIVE
➢ It is time saving and energy saving.
➢ Students can easily login to site while sitting on home.
➢ Students can attend online classes.
➢ Students can watch recorded lectures.
➢ Students can update their profile.

1.3. PROBLEM DEFINITION


In this section we shall discuss the limitation and drawback of the existing system
that forced us to take up this project. Really that work was very typical to manage
the daily errors free records and adding or removing any node from server. This
problem produces a need to change the existing system. Some of these
shortcomings are being discussed below: -

➢ Low Functionality

With the existing system, the biggest problem was the low functionality. The
problem faced hampered the work. For small task like adding any new node to
server or deleting a node or keeping daily record we have to appoint minimum two
or three employee.

➢ Erroneous Input and Output


In the existing system, humans performed all the tasks. As in the human tendency,
error is also a possibility. Therefore, the inputs entered by the person who is
working in the Company, in the registers may not be absolutely foolproof and may
be erroneous. As a result of wrong input, the output reports etc. Will also be wrong
which would in turn affect the performance.

➢ Portability Problem
System that existed previously was manual. As a result, the system was less
portable. One has to

2
carry the loads of many registers to take the data from one place to another. A big
problem was that the system was less flexible and if we wanted to calculate yearly
or monthly maintenance report or efficiency report, then it was a big headache.

➢ Security-

Security concerns were also one of the motives of the Company for the need of
software. In the registers, the data is not secure as anybody can tamper with the
data written in the registers. While in this software, just a password makes it
absolutely secure from the reach of unauthorized persons.

➢ Data Redundancy
In the case of manual system, the registers are maintained in which, a lot of data is
written.

➢ Processing Speed
In manual system maintaining a register and performing the necessary
calculation has proved to be a troublesome job, which takes a lot of time and
may affect the performance of the Company. But with this software we can have
all the tasks performed in a fraction of second by a single click thus making the
troublesome job much easier.

➢ Manual Errors
When a number of tough tasks are prepared by the humans like preparation of
reports, performing long calculation then some human error are obvious due to a
number of factors like mental strain, tiredness etc. But as we all know that
computer never get tired irrespective of the amount of work it has to do. So this
software can nullify the probability of manual error that improve the
performance.

➢ Complexity in Work

In manual system whenever a record is to be updated or to be deleted a lot of


3
cutting and overwriting needs to be done on the registers that are concerned that
are deleted or updated record, which makes the work very complex.

1.4SYSTEM ANALYSIS

1.4.1 Objective:
It is a process of collecting and interpreting facts, identifying the problems, and
decomposition of a system into its components.

System analysis is conducted for the purpose of studying a system or its parts in
order to identify its objectives. It is a problem solving technique that improves the
system and ensures that all the components of the system work efficiently to
accomplish their purpose.

Analysis specifies what the system should do.

1.4.2 SDLC Phases:


System Development Life Cycle (SDLC) mainly consists of the following 7
phases which can be detailed: -

1.4.3Preliminary Investigation: -

This is the first phase of the system development life cycle. In this phase we tend
to find out the needs of the client –what exactly does the client want? Before the
development of any system the important point is to know the needs, objectives
and scope of the system.

 Feasibility Study: -


Feasibility study is the step of preliminary study of the system development life
cycle. Things are always easy at the beginning in any software process. In fact
nothing is in feasible with unlimited time and resources. But it is not the fact. So,
practically we have to do in limited resources in a restricted time margin. So for
the system to be feasible, following points we have to consider.

4
The feasibility study is conducted to check whether the candidate system is
feasible. The system which is selected to be the best against the criteria is there
after designed and developed. The feasibility study takes in to consideration, the
risks involved in the project development beforehand. Therefore in this phase we
have to do feasibility study which is the test of the website according to its work
ability, impact on the organization, ability to meet user need and effective use of
resources. We do the feasibility study for website to analyze the risks, costs and
benefits relating to economics, technology and user organization. There are several
types of feasibility depending on the aspect they cover. Import of these includes:
Technical Feasibility:
This is an important outcome of preliminary investigation. It comprise of following
questions:-
 Can the work of project bed one with the current equipment,
existing software and available man power resource?
 If Technology is required what are the possibilities that it can be
developed?

Economic Feasibility:
It deals with question related to the economy. It comprise of the following questions:-

 Are there sufficient benefits in creating the system to make the cost
acceptable?
 Are the costs of not creating the system so great that the project must be
undertaken?

Legal Feasibility:
It deals with the question related to the legal issues. It comprise of the following
questions: -

➢ Contract Signing

➢ Software License agreement

➢ Issues related to cyber laws.

5
➢ Legal issues relating to the man power contract.

Operational Feasibility:
The operational feasibility consists of the following activity:
➢ Will the system be useful if it is developed &implemented?
➢ Will there be resistance from employee?

Social & Behavioral Feasibility:


It deals with the various issues related to the human behavior like: -
➢ Whether the user be able to adapt a new change or not?
➢ Whether the ambiance we are providing suits the user or not?
 Request Approval: -
Request approval is the preliminary investigation phase of system development
lifecycle. Request approval is the phase in which all the requirements which
would be provide in the system are stated. The request approval is a sort of
agreement between the client and the company which is building this software.
Both the parties should be mutually agreed on the stated requirements.

1.4.3.2 System Analysis:-


System analysis is the phase following the phase of the request approval. In
this phase we tend to analyze the overall system which we have to build. System
analysis is the crucial part in SDLC.

1.4.3.3 System Design:-


System design means the designing of the system. The System can be done in
either of the following two ways:-
 Logical System Design

 Physical System Design

6
1.4.3.4 Coding:-
Coding is the phase in which a developer codes using any programming languages.
Coding constitutes only 20% of the whole project and which is easier to write. The
coding work is also done in the teams; development of the system is usually done
under the modular programming style, which can be either top-down approach or
bottom-up approach.

1.4.3.5 Testing:-
Testing is the phase in which the system that has been developed is tested. Testing
comprises of the 60% of the overall development of the system. Testing of the
system is important because testing aims to uncover the different errors in the
system. There are various different testing techniques that can be used for the
testing of the system.

1.4.3.6 Implementation:-
Implementation process involved the installation of software on user’s side.
Implementation process actually depends on type of a system & various. Opting
for suitable conversion approach is a step implementation. The conversion
processes are as follows:-

 ParallelConversion

 Direct ConversionApproach

 Pilot ConversionApproach

 Phase In ConversionApproach

1.4.3.7 Maintenance: -
Merely developing the system is not important but also maintenance is important.
The company that has built the system provides for some time free of cost
maintenance to the client and after that period it is usually a paid service.

7
1.4.4 Process Description
Gantt charts mainly used to allocate resources to activities. The resources allocated
to activities include staff, hardware, and software. Gantt charts (named after its
developer Henry Gantt) are useful for resource planning. A Gantt chart is special
type of bar chart where each bar represents an activity. The bars are drawn along a
timeline. The length of each bar is proportional to the duration of the time planned
for the corresponding activity. Gantt chart is a project scheduling technique.
Progress can be represented easily in a Gantt chart, by coloring each milestone
when completed. The project will start in the month of January and end after 4
months at the beginning of April.

8
CHAPTER 2

LITERATURE REVIEW

Indeed learning platforms have revolutionized education by providing convenient access to


a wide range of courses and resources over the internet. These platforms offer flexibility,
allowing learners to study at their own pace and convenience, regardless of their location or
schedule. They often incorporate multimedia resources, making learning engaging and
interactive. However, challenges such as the digital divide and quality control persist, as not
all learners have equal access to technology or high-quality educational content. Despite
these challenges, online learning platforms continue to evolve, with emerging technologies
like artificial intelligence and virtual reality enhancing personalized learning experiences.
Looking ahead, the integration of online education with traditional institutions and
accreditation systems may further expand the reach and impact of online learning platforms,
making education more accessible and inclusive for all.

9
CHAPTER 3

3.1 PROJECT MODEL USED

Iterative Enhancement Model

➢ This model has the same phases as the waterfall model, but with fewer
restrictions. Generally the phases occur in the same order as in the waterfall model,
but they may be conducted in several cycles.
➢ Useable product is released at the end of the each cycle, with each release
providing additional functionality. Customers and developers specify as many
requirements as possible and prepare a SRS document. Developers and customers
then prioritize these requirements. Developers implement the specified
requirements in one or more cycles of design, implementation and test based on
the defined priorities.
The procedure itself consists of the initialization step, the iteration step, and the
Project Control List. The initialization step creates a base version of the system.
The goal for this initial implementation is to create a product to which the user can
react. It should offer a sampling of the key aspects of the problem and provide a
solution that is simple enough to understand and implement easily. To guide the
iteration process, a project control list is created that contains a record of all tasks
that need to be performed. It includes such items as new features to be implemented
and areas of redesign of the existing solution. The control list is constantly being
revised as a result of the analysisphase.
The iteration involves the redesign and implementation of iteration is to be
simple, straightforward, and modular, supporting redesign at that stage or as a
task added to the project control list. The level of design detail is not dictated by
the iterative approach. In a light-weight iterative project the code may represent
the major source of documentation of the system; however, in a critical
iterative project a formal Software Design Document may be used. The
analysis of iteration is based upon user feedback, and the program analysis

10
facilities available. It involves analysis of the structure, modularity, usability,
reliability, efficiency, & achievement of goals. The project control list is
modified in light of the analysis results.
PHASES:
Incremental development slices the system functionality into increments
(portions). In each increment, a slice of functionality is delivered through cross-
discipline work, from the requirements to the deployment. The unified process
groups increments/iterations into phases: inception, elaboration, construction, and
transition.
➢ Inception identifies project scope, requirements (functional and non-functional)
and risks at a high level but in enough detail that work can be estimated.
➢ Elaboration delivers a working architecture that mitigates the top risks
and fulfills the non- functional requirements.
➢ Construction incrementally fills-in the architecture with production-ready
code produced from analysis, design, implementation, and testing of the
functional requirements.
➢ Transition delivers the system into the production operating environment.

11
3.2 ER-Diagram

Introduction: -
In software engineering, an entity-relationship model (ERM) is an abstract and
conceptual representation of data. Entity-relationship modeling is a database
modeling method, used to produce a type of conceptual schema or semantic data
model of a system, often a relational database, and its

requirements in a top-down fashion. Diagrams created by this process are called


entity-relationship diagrams, ER diagrams, or ERDs. ER Diagrams depicts
relationship between data objects. The attribute of each data objects noted in the
entity-relationship diagram can be described using a data object description. Entity
relationship diagram is very basic, conceptual model of data and it is fundamental
to the physical database design. This analysis is then used to organize data as
relations, normalizing relations, and obtaining a Relational database.
The entity-relationship model for data uses three features to describe data. These are:
1. Entities which specify distinct real-world items in an application.

2. Relationship, which connect entities and represent meaningful dependencies

between them.

3. Attributes which specify properties of entities &relationships.

12
E-R Diagram

13
3.2.1 Data Flow Diagram

Introduction:-
DFD is an acronym for the word Data Flow Diagram. DFD is ppictorial
representation of the system. DFD is a graphical representation of the ―flow of
data through the information system. DFD are also used for the visualization of
data processing (structured design). ADFD provides no information about the
timings of the process, or about whether process will operate in parallel or sequence.
DFD is an important technique for modeling system’s high-level detail by showing
how input data is transformed to output results through a sequence of functional
transformations. DFD reveal relationships among between the various components
in a program or system. The strength of DFD lies in the fact that using few symbols
we are able to express program design in an easier manner. ADFD can be used to
represent the following:-

External Entity sending and receiving data. Process


that change the data. Flow of data within the system.
Data Storage locations.

Uses of DFD:-
The main uses of data flow diagrams are as follows: -
DFD is a method of choice for representation of showing of information through a
system because of the following reasons:-

DFDs are easier to understand by technical and non-technical audiences.


DFDs can provide a high level system overview, complete with boundaries and
connections to other system.
DFDs can provide a detailed representation of system components.

14
15
CHAPTER 4

4.1 SOFTWARE HARDWARE REQUIREMENT SPECIFICATION


A requirements specification for a software system is a complete description of
the behavior of a system to be developed and it includes a set of use cases that
describe all the interactions the users will have with the software. In addition to
use cases, the SRS also contains non-functional requirements.

Non-functional requirements are requirements which impose constraints on the


design or implementation (such as performance engineering requirements,
quality standards, or design constraints).Requirements are a sub-field of software
engineering that deals with the elicitation, analysis, specification, and validation
of requirements for software.

The software requirement specification document enlists all necessary


requirements for project development. To derive the requirements, we need to
have clear and thorough understanding of the products to be developed. This is
prepared after detailed communications with project team and the customer.

4.1.1 SERVER-SIDE HARDWARE REQUIREMENT:

➢ AMD Athlon 64 with processor speed 2.8 or more


➢ 256 DDR Ram
➢ 40 GB Hard disks
➢ Network Interface card
➢ IIS

4.1.2.1 SERVER-SIDE SOFTWARE REQUIREMENT:


➢ Windows

16
➢ Python 3.7 and PyCharm IDE 2021.3
➢ SQLite3

CLIENT-SIDE HARDWARE REQUIREMENT:


➢ Processor Dual core-based computer
➢ 2 GB Minimum RAM
➢ 20 GB HDD
➢ 100 Mbps LAN
➢ Web Browser

TO DEVELOP THIS PROJECT THE VARIOUS SOFTWARE


RESOURCES ARE USED.

o Front End - HTML-CSS &Bootstrap


o Back End - SQLite3
o Web Server - Apache Server
o Technology - Python technology
o Code-Behind Language - Python
o IDE - PyCharm

4.1.3 SUPPORT AND MAINTENANCE: -


One-year free support for rectifying system bugs including front end and

beck end will be provided. During warranty period Software Engineers will be

responsible for removing bugs and improving it. After one year support can

be extended @ 20% of the total product deployment cost.

17
4.2 SYSTEM DESIGN APPROACH

4.1.1 Top – Down designing:

The top - down designing approach started with major components of the system. It
is a stepwise refinement which starts from an abstract design, in each steps the
design is refined two or more concrete levels until we reach a level where no – more
refinement is possible or not needed.

18
4.1.2 Bottom – Up designing:

In bottom – up designing the most basic and primitive components are designed first,
and we proceed to higher level components. We work with layers of abstractions and
abstraction are implemented until the stage is reached where the operations supported
by the layer is complete.

4.1.3 Following Approach:

In this project we are following Mixed Approach i.e. A combination of top – down
and bottom – up. We are developing some of the components using top – down
designing approach (e.g. the WebPages) and the some components in bottom – up
designing approach (e.g. the middle tier classes).
19
4.3 PROJECT WORK

4.3.1 Backend Design

4.3.2 Description of Classes and methods (model.py)


views.py
from django.shortcuts import render
from .models import *
from django.http import HttpResponse

# Create your views here.


def index(request):
sdata=slider.objects.all().order_by('-id')[0:3]
nbdata=newbatches.objects.all().order_by('-id')[0:4]
instdata=instructor.objects.all().order_by('id')[0:3]
mydict={'data1':sdata,'data2':nbdata,'data3':instdata,}
return render(request,'firstapp/index.html',mydict)

def aboutus(request):
return render(request,'firstapp/aboutus.html')
def contact(request):
if request.method=="POST":
a=request.POST.get('name')
b=request.POST.get('email')
c=request.POST.get('phone')
d=request.POST.get('msg')
contactus(name=a,email=b,phone=c,msg=d).save()
return HttpResponse("<script>alert('Thanks for contacting with
us..');location.href='/fapp/contact/'</script>")
# print(name,phone,email,msg)

20
return render(request,'firstapp/contact.html')
def feedback(request):
return render(request,'firstapp/feedback.html')

def login(request):
if(request.method=="POST"):
email=request.POST.get('email')
passwd=request.POST.get('passwd')
x=signup.objects.filter(passwd=passwd,email=email).count()
if x==1:
request.session['user']=email
y=signup.objects.filter(email=email,passwd=passwd)
request.session['userpict']=str(y[0].profile)
request.session['username']=str(y[0].name)
request.session['batchid']=str(y[0].batchid)
return HttpResponse("<script> location.href='/sapp/index/' </script>")
else:
return HttpResponse("<script>alert('Username or Password is Incorrect!!!');
location.href='/fapp/login/' </script>")
return render(request,'firstapp/login.html')

def registration(request):
bdata=studentbatch.objects.all().order_by('-id')
md={"bdata":bdata,}
if request.method=='POST':
name=request.POST.get('name')
email=request.POST.get('email')
mobile=request.POST.get('mobile')
passwd=request.POST.get('passwd')
college=request.POST.get('college')
course=request.POST.get('course')

21
picture=request.FILES['fu']
pyear=request.POST.get('pyear')
batchid=request.POST.get('batch')
x=signup.objects.filter(email=email).count()
if x==0:

signup(name=name,email=email,mobile=mobile,passwd=passwd,college=co
llege,course=course,pyear=pyear,profile=picture,status='Pending',batchid=ba
tchid).save()
return HttpResponse("<script> alert('Registered Successfully');
location.href='/fapp/registration/'</script>")
else:
return HttpResponse("<script> alert('Already Registered');
location.href='/fapp/registration/'</script>")
# print(name,email,mobile,passwd,college,course,picture,pyear)
return render(request,'firstapp/registration.html',md)

def placements(request):
clg=request.GET.get('college')
year=request.GET.get('year')
collegedata=college.objects.all().order_by('-id')
sessiondata=session_year.objects.all()
# pdata=placement.objects.all().order_by('-id')
if clg is not None and year is not None:
pdata=placement.objects.filter(college=clg,session=year)
else:
pdata=placement.objects.all()
placedict={'cdata':collegedata,'sdata':sessiondata,'pdata':pdata,}
return render(request,'firstapp/placements.html',placedict)

def mynewbatches(request):

22
batchdata=newbatches.objects.all().order_by('-id')
batchdict={'bdata':batchdata,}
return render(request,'firstapp/mynewbatches.html',batchdict)

def facility(request):
return render(request,'firstapp/facility.html')

model.py
from django.db import models

# Create your models here.


class contactus(models.Model):
name=models.CharField(max_length=200,null=True)
phone=models.CharField(max_length=25,null=True)
email=models.CharField(max_length=100,null=True)
msg=models.TextField(null=True)
def __str__(self):
return self.name

class slider(models.Model):
headlines=models.TextField(null=True)
slider_description=models.TextField(null=True)
slider_picture=models.ImageField(upload_to='static/slider',null=True)
def __str__(self):
return self.headlines

class newbatches(models.Model):
bname=models.CharField(max_length=100)
bpic=models.ImageField(upload_to='static/batchpic',null=True)
bdate=models.DateTimeField(null=True)

23
class college(models.Model):
college_name=models.CharField(max_length=200,null=True)
def __str__(self):
return self.college_name

class session_year(models.Model):
session=models.CharField(max_length=100)
def __str__(self):
return self.session

class batch(models.Model):
batch_name=models.CharField(max_length=50)
def __str__(self):
return self.batch_name

class placement(models.Model):
student_picture=models.ImageField(upload_to='static/placement',null=True)
student_name=models.CharField(max_length=100,null=True)
college=models.ForeignKey(college,on_delete=models.CASCADE,null=True)

session=models.ForeignKey(session_year,on_delete=models.CASCADE,nul
l=True)
batch=models.ForeignKey(batch,on_delete=models.CASCADE,null=True)
company_name=models.CharField(max_length=200,null=True)
company_logo=models.ImageField(upload_to='static/companylogo',null=True)

class studentbatch(models.Model):
batch_name=models.CharField(max_length=200,null=True)
def __str__(self):
return self.batch_name

24
class signup(models.Model):
name=models.CharField(max_length=200,null=True)
email=models.CharField(primary_key=True,max_length=200,null=False)
mobile=models.CharField(max_length=30,null=True)
profile=models.ImageField(upload_to='static/profile',null=True)
course=models.CharField(max_length=30,null=True)
pyear=models.CharField(max_length=30,null=True)
college=models.TextField(null=True)

batch=models.ForeignKey(studentbatch,on_delete=models.CASCADE,null=
True)
status=models.CharField(max_length=30,null=True)
passwd=models.CharField(max_length=10,null=False)
batchid=models.IntegerField(null=True)
def __str__(self):
return self.name

class category(models.Model):
category_name=models.CharField(max_length=200,null=True)
category_picture=models.ImageField(upload_to='static/category/',null=True)
category_date=models.DateField(null=True)
def __str__(self):
return self.category_name

class mylectures(models.Model):

video_category=models.ForeignKey(category,on_delete=models.CASCADE
,null=True)

video_batch=models.ForeignKey(studentbatch,on_delete=models.CASCAD
E,null=True)

25
vlink=models.CharField(max_length=300,null=True)
thumbnail=models.ImageField(upload_to='static/videopic',null=True)
video_description=models.TextField(null=True)
added_date=models.DateField()

class batchtiming(models.Model):

batch=models.ForeignKey(studentbatch,on_delete=models.CASCADE,null=
True)
clink=models.CharField(max_length=300,null=True)
timing=models.CharField(max_length=50,null=True)
start_date=models.DateField(null=True)

class enotes(models.Model):
title=models.CharField(max_length=200,null=True)
notes_pic=models.ImageField(upload_to='static/enotes',null=True)
pdf_notes=models.FileField(upload_to='static/pdf',null=True)
added_date=models.DateField()

batch=models.ForeignKey(studentbatch,on_delete=models.CASCADE,null=
True)

class instructor(models.Model):
instructor_name=models.CharField(max_length=100,null=True)
qualif=models.CharField(max_length=200,null=True)
instructor_post=models.CharField(max_length=100,null=True)
instructor_pic=models.ImageField(upload_to='static/instpic',null=True)

class mytask(models.Model):
taskbatch=models.ForeignKey(batch,on_delete=models.CASCADE,null=True)
title=models.CharField(max_length=200,null=True)

26
task_file=models.FileField(upload_to='static/task',null=True)
added_date=models.DateField(null=True)

class submittedtask(models.Model):
title=models.CharField(max_length=200,null=True)
answer_file=models.FileField(upload_to='static/submittedtask',null=True)
tid=models.CharField(max_length=20,null=True)
userid=models.CharField(max_length=200,null=True)
marks=models.CharField(max_length=200,null=True)

4.3.3 Defined urls (urls.py)


PROJECT LEVEL – URL.PY

from django.contrib import admin


from django.urls import path,include

urlpatterns = [
path('admin/', admin.site.urls),
path('fapp/',include('firstapp.urls')),
path('',include('firstapp.urls')),
path('sapp/',include('secondapp.urls')),
]

APP LEVEL- URLS.PY

from django.urls import path


from . import views
urlpatterns=[
path('index/',views.index),
path('',views.index),
path('about/',views.aboutus),
path('contact/',views.contact),
path('feedback/',views.feedback),

27
path('login/',views.login),
path('registration/',views.registration),
path('placements/',views.placements),
path('newbatches/',views.mynewbatches),
path('facility/',views.facility),
]

4.4 DATA MODELING

LIST OF TABLES:

4.2.2 User Table


4.2.3 Register Table
4.2.4 Assignmenttbl Table
4.2.5 Contact us Table
4.2.6 LectureCat Table
4.2.7 LectureVideo Table
4.2.8 StudentAnswer Table

4.2.9 User Table

28
4.2.10Register Table

4.2.11ContactUs Table

29
4.5 TESTING
Testing is the integral part of any System Development Life Cycle insufficient and
interested application tends to crash and result in loss of economic and manpower
investment besides user’s dissatisfaction and downfall of reputation.

“Software Testing can be looked upon as one among much process, an organization
performs, and that provides the last opportunity to correct any flaws in the developed
system. Software Testing includes selecting test data that have more probability of
giving errors.” The first step in System testing is to develop the plan that all aspect
of system .Complements, Correctness, Reliability and Maintainability. Software is
to be tested for the best quality assurance, an assurance that system meets the
specification and requirement for its intended use and performance.
System Testing is the most useful practical process of executing the program
with the implicit intention of finding errors that makes the programfail.

Types of Testing:

Black Box (Functional) Testing:

Testing against specification of system or component. Study it by examining its


inputs and related outputs. Key is to devise inputs that have a higher likelihood of
causing outputs that reveal the presence of defects. Use experience and knowledge
of domain to identify such test cases. Failing this a systematic approach may be
necessary. Equivalence partitioning is where the input to a program falls into a
number of classes,

30
e.g. positive numbers vs. negative numbers. Programs normally behave the same
way for each member of a class. Partitions exist for both input and output. Partitions
may be discrete or overlap. Invalid data (i.e. outside the normal partitions) is one or
more partitions that should betested.
Internal System design is not considered in this type of testing. Tests are based on
requirements andfunctionality.
This type of test case design method focuses on the functional requirements of the
software, ignoring the control structure of the program. Black box testing attempts
to find errors in the following categories:

➢ Incorrect or missingfunctions.

➢ Interface errors.

➢ Errors in data structures or external databaseaccess.

➢ Performanceerrors.

➢ Initialization and terminationerrors.

White Box (Structural) Testing:

Testing based on knowledge of structure of component (e.g. by looking at source


code). Advantage is that structure of code can be used to find out how many test
case need to be performed. Knowledge of the algorithm (examination of the code)
can be used to identify the equivalence partitions. Path testing is where the tester
aims to exercise every independent execution path through the component. All
conditional statements tested for both true and false cases. If a unit has n control
statements, there will be up to
2npossiblepathsthroughit.Thisdemonstratesthatitismucheasiertotestsmall

31
program units than large ones. Flow graphs are a pictorial representation of the paths
of control through a program (ignoring assignments, procedure calls and I/O
statements). Use flow graph to design test cases that execute each path. Static tools
may be used to make this easier in programs that have a complex branching
structure. Tools support. Dynamic program analysers instrument a program with
additional code. Typically this will count how many times each statement is
executed. At end print out report showing which statements have and have not been
executed. Problems with flow graph derived testing:
❖ Data complexity could not take into account.
❖ We cannot test all paths in combination.
❖ In really only possible at unit and module testing stages because beyond that
complexity is too high.
This testing is based on knowledge of the internal logic of an application’s code.
Also known as a Glass Box Testing. Internal software and code working should be
known for this type of testing. Tests are based on coverage of code statements,
branches, paths, conditions.

Unit Testing:

Unit testing concentrates on each unit of the software as implemented in the code.
This is done to check syntax and logical errors in programs. At this stage, the test
focuses on each module individually, assuring that it functions properly as a unit.
In our case, we used extensive white-box testing at the unit testing stage.
A developer and his team typically do the unit testing do the unit testing is done in
parallel with coding; it includes testing each function and procedure.

Incremental Integration Testing:

Bottom up approach for testing i.e. continuous testing of an application as new


functionality is added; Application functionality and modules should be
independent enough to test separately done by programmers or by testers.

32
Integration Testing:

Testing of integration modules to verify combined functionality after integration


. Modules are typically code modules, individual applications, client and server
and distributed systems.

Functional Testing:

This type of testing ignores the internal parts and focus on the output is as
per requirement or not.
. Black box type testing geared to functionality requirements of an application.

System Testing:

Entire system is tested as per the requirements. Black box type test that is based
on overall requirement specifications covers all combined parts of a system.

End-to-End Testing:

Similar to system testing, involves testing of a complete application environment in


a situation that mimics real-world use, such as interacting with a database, using
network communications, or interacting with hardware, applications, or system if
appropriate.

Regression Testing:

Testing the application as a whole for the modification in any module or


functionality. Difficult to cover all the system in regression testing so typically
automation tools are used for these testing types.

33
Acceptance Testing:

Normally this type of testing is done to verify if system meets the customer
specified requirements. User or customers do this testing to determine whether to
accept application.

Performance Testing:

Term often used interchangeably with “stress” and “load” testing, To check
whether system meets performance requirements, Used different performance
and load tools to do this.

Alpha Testing:

In house virtual user environment can be created for this type of testing. Testing
is done at the end of development. Still minor design changes may be made as
a result of such testing.

Beta Testing:

Testing typically done by end-users or others. This is final testing before releasing
application for commercial purpose.

34
4.6 Project Coding

4.6.1 Signin.html
{% extends 'base.html'%}
{% load static %}
{% block title%}
Login
{% endblock %}
{% block childpage %}
<div class="text-center fs-2">Log<b class="txt-mycolor">In</b></div>
<div class="row mt-2">
<div class="col-lg-3 mx-auto rounded-3 p-3" style="min-height:400px;
background:#deedec; border:2px solid #99d1ff ;">
<p class="text-center fs-2">Welcome To Indeed Learning</p>
<form action="" method="post">
{% csrf_token %}
<input type="email" name="email" class="form-control rounded-pill border-secondary"
placeholder="Username" required /><br/>
<input type="password" name="passwd" class="form-control rounded-pill border-
secondary" placeholder="Password" required/><br/>
<input type="submit" value="LOGIN" class="form-control rounded-pill bg-mycolor"/>
</form>
</div>
</div>
{% endblock %}

4.6.2 Contact.html
{% extends 'base.html'%}
{% load static %}
{% block title%}
Contact Us
{% endblock %}
{% block childpage %}
<div class="text-center fs-2">Contact <b class="txt-mycolor">Us</b></div>
<div class="row">

35
<div class="col-sm-12">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-4 p-3 my-3 me-1" style="border:2px solid #33b5e5;" >
<form action="" method="post">
{% csrf_token %}
<b class="fs-5 ">Send Your Message</b><br/>
<div class="row mt-2">
<div class="col-6">Your Name:<input class="form-control" type="text"
name="name" required/></div>
<div class="col-6">Your Contact: <input class="form-control" type="tel"
name="phone" required/></div>
</div>
<div class="row mt-2">
<div class="col-12">Your Email: <br/><input class="form-control" type="email"
name="email" required/></div>
</div>
<div class="row mt-2">
<div class="col-12">Your Message:
<textarea class="form-control" name="msg"></textarea></div>
</div>
<input class="mt-3 bg-mycolor text-light border-light rounded-1 fs-5 " type="submit"
value="SEND MESSAGE"/>
</form>
</div>
<div class="col-sm-4 pt-3 ps-5 my-3 ms-1" style="border:2px solid #ffbb33;">
<b class="fs-5">Contact Info</b><br/>
<b class="txt-mycolor"><i class="fa-solid fa-location-dot"></i> Office Address </b>
<address>Plot No-444, Behind HP Petrol Pump,<br/>Vikas Nagar, Lucknow, Uttar
Pradesh 226022</address>
<b class="txt-mycolor"><i class="fa-solid fa-phone"></i> Call Us</b>
<p>+91 1234567890 <br/>+91 1234567890</p>
<b class="txt-mycolor"><i class="fa-solid fa-envelope"></i> Mail Us</b>
<p>[email protected] <br/>[email protected]</p>

</div>
<div class="col-sm-2"></div>
</div>

36
</div>
</div>

4.6.3 Index.html
{% extends 'base.html'%}
{% load static %}
{% block title%}
INDEED LEARNING
{% endblock %}

{% block childpage %}
<div class="row">
<div class="col-sm-9 p-1">
<!-- START SLIDER -->
<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-
to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-
to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2"
aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="3"
aria-label="Slide 4"></button>

</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="{% static 'images/online3.avif'%}" height="500px" class="d-block w-100
rounded-3" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5 class="text-dark">ONLINE LEARNING</h5>
<p class="text-dark">Some representative placeholder content for the first slide.</p>
</div>
</div>
{% for i in data1 %}

37
<div class="carousel-item">
<img src="/{{i.slider_picture}}" height="500px" class="d-block w-100 rounded-3"
alt="...">
<div class="carousel-caption d-none d-md-block">
<h5 class="text-dark">{{i.headlines}}</h5>
<p class="text-dark">{{i.slider_description}}</p>
</div>
</div>
{% endfor %}
</div>
<button class="carousel-control-prev" type="button" data-bs-
target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-
target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>

<!-- END SLIDER -->


</div>
<div class="col-sm-3">
<div class="fs-4 text-center text-dark">New <b class="txt-
mycolor">Batches</b></div>
<marquee height="470px" direction="up" behavior="alternate"
onmouseleave="start()" onmouseover="stop()">
<!-- START CARD -->
{% for i in data2 %}
<div class="card mb-3" style="max-width: 540px;">
<div class="row g-0">
<div class="col-md-4">
<img src="/{{i.bpic}}" class="img-fluid rounded-start" alt="...">
</div>
<div class="col-md-8">
<div class="card-body">

38
<h5 class="card-title">{{i.bname}}</h5>
<p class="card-text"><i class="fa-solid fa-calendar-
days"></i>&nbsp;&nbsp;{{i.bdate}}</p>
</div>
</div>
</div>
</div>
{% endfor %}
<!-- CARD END -->
</marquee>
</div>
</div>
<!-- Start Category -->
<div class="row bg-light py-4" >
<div class="col-sm-10 mx-auto">
<div class="row">
<div class="fs-2 py-2 text-center">Upcoming<b class="txt-mycolor">
Batches</b></div>
{% for i in data2 %}
<div class="col-lg-3 mx-auto m-2" >
<div class="card" style="max-height: 350px;">
<img src="/{{i.bpic}}" height="250px" alt="" class="card-img-top"/>
<div class="card-body">
<p class="card-title text-center"><b>{{i.bname}}</b></p>
<small class="card-text"><i class="fa-solid fa-calendar-days"></i> Starting At
: {{i.bdate}}</small>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
<!-- End Category -->
<!-- start latest news -->
<div class="row news py-3">
<div class="fs-2 text-center">Our<b class="txt-mycolor"> Instructor</b></div>

39
<div class="col-sm-10 mx-auto">
<div class="row">
{% for i in data3 %}
<div class="col-sm-3 mx-auto py-2">
<div class="card">
<img src="/{{i.instructor_pic}}" class="card-img-top"/>
<div class="card-body text-center">
<h4 class="card-title">{{i.instructor_name}}</h4>
<b class="text-dark mt-2">{{i.qualif}}</b><br/>
<b class="text-muted">{{i.instructor_post}}</b>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<!-- end latest news -->
{% endblock %} <div class="col-lg-2 col-md-4 col-sm-12"></div>

4.6.4 Signup.html
{% extends 'base.html'%}
{% load static %}
{% block title%}
Sign Up
{% endblock %}
{% block childpage %}
<div class="text-center fs-2"><b>Registration</b></div>
<div class="row">
<div class="col-sm-10 mx-auto">
<div class="row">
<div class=" col-lg-5 col-sm-4 mx-auto m-3 pt-3 rounded-3" style="background-
color:#deedec; ">
<form action="" method="post" enctype="multipart/form-data">

40
{% csrf_token %}
Name: <input type="text" name="name" class="form-control " required />
Email: <input type="email" name="email" class="form-control" required />
Password: <input type="password" name="passwd" class="form-control"
required />
Mobile(Whatsapp No): <input type="number" name="mobile" class="form-
control" required />
Batch:
<select name="batch" class="form-control mb-3">
<option value="">--Select Your Batch--</option>
{% for i in bdata %}
<option value="{{i.id}}">{{i.batch_name}}</option>
{% endfor %}
</select>
Profile Picture: <input type="file" name="fu" class="form-control" required />
Course: <input type="text" name="course" class="form-control" required />
<select class="form-control my-4" name="pyear">
<option>--Select Pursuing Year--</option>
<option> I Year</option>
<option> II Year</option>
<option> III Year</option>
</select>
College: <input type="text" name="college" class="form-control" required />
<input type="submit" value="Register" class="btn form-control my-4 bg-
mycolor" required />
</form>
</div>
</div>
</div>
</div>

4.6.5 base.html

<!DOCTYPE html>
<html lang="en">
{% load static %}

41
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
{% block title%}
{% endblock %}
</title>
<link rel="stylesheet" href="{% static 'css/bootstrap.css'%}"/>
<link rel="stylesheet" href="{% static 'css/all.css'%}"/>
<style>
:root{
--bgcolor: linear-gradient(50deg,#33b5e5,#ffbb33);
/* --bgcolor: linear-gradient(50deg,#d4cae6,#d89197); */
--txtcolor:#ffa726;
}
.bg-mycolor{
background:var(--bgcolor) !important;
}
.txt-mycolor{
color: var(--txtcolor) !important;
}
.footer1{
min-height:300px;

}
.footer2{
min-height:30px;
margin-top:.1%;
}
.rotat:hover{
color: black;
transition: all 1s;
font-size: 30px;;

}
.txtsize{
font-size:15px;

42
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row t1 bg-mycolor text-center border">
<div class="col-lg-3 col-md-6 col-sm-12">
<i class="fa-solid fa-envelope"></i>
[email protected]
</div>
<div class="col-lg-3 col-md-6 col-sm-12">
<i class="fa-solid fa-phone"></i>
+91,9876543210
</div>
<div class="col-lg-3 col-md-6 col-sm-12">
Welcome to INDEED LEARNING
</div>
<div class="col-lg-3 col-md-6 col-sm-12">
<i class="fa-brands fa-facebook fa-spin rotat"></i>
<i class="fa-brands fa-youtube rotat"></i>
<i class="fa-brands fa-twitter rotat"></i>
<i class="fa-brands fa-instagram rotat"></i>
<i class="fa-brands fa-whatsapp fa-spin rotat"></i>
</div>
</div>
<div class="row t2">
<div class="col-sm-10 mx-auto">
<div class="row">
<div class="col-sm-4" style="font-family:ALgerian; font-size: 30px;">
<a href="/fapp/index/" class="text-dark" style="text-decoration:
none;">INDEED <b class="txt-mycolor pe-1">LEARNING </b><i class="fa-solid
fa-book txt-mycolor"></i></a>
</div>
<div class="col-sm-4"></div>
<div class="col-sm-4 text-end">
<a href="/fapp/contact/" class="btn btn-sm bg-secondary mt-2 rounded-pill
text-light"><i class="fa-solid fa-address-book"></i> &nbsp;Enquiry</a>
<a href="/fapp/feedback/" class="btn btn-sm bg-secondary mt-2 rounded-pill text-

43
light">
<i class="fa-solid fa-rss"></i> Feedback</a>
<a href="/fapp/login/" class="btn btn-sm bg-secondary mt-2 rounded-pill text-
light">
<i class="fa-solid fa-user"></i> Login</a>
</div>
</div>
</div>
</div>
<div class="row t3 bg-mycolor">
<div class="col-sm-10 mx-auto" style="padding-left: 20%;">
<!-- Start MENU -->
<nav class="navbar navbar-expand-lg ">
<div class="container-fluid ">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/fapp/index/"><i class="fa-solid
fa-house"></i> HOME</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/fapp/about/"><i class="fa-solid fa-info"></i>
ABOUT US</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/fapp/newbatches/"><i class="fa-solid fa-table"></i>
NEW BATCHES</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/fapp/registration/"><i class="fa-solid fa-user-
plus"></i> REGISTRATION</a>
</li>
<li class="nav-item">

44
<a class="nav-link" href="/fapp/facility/"><i class="fa-solid fa-person-
chalkboard"></i> OUR FACULTY</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/fapp/placements/"><i class="fa-solid fa-user-
graduate"></i> OUR PLACEMENT</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- END MENU -->
</div>
</div>
<div class="row">
<div class="col-sm-12" style="min-height: 500px;">
{% block childpage %}
{% endblock %}
</div>
</div>
<div class="row footer1 bg-dark">
<div class="col-lg-6 mx-auto">
<div class="row m-3">
<div class="col-lg-6 col-md-6 col-sm-12" style="color: antiquewhite;">
<b class="fs-4">Contact Address</b><br/>
<b class="txt-mycolor"><i class="fa-solid fa-location-dot"></i> Office
Address </b>
<address class="txtsize">Plot No-444, Behind HP Petrol Pump,<br/>Vikas
Nagar, Lucknow, Uttar Pradesh 226022</address>
<b class="txt-mycolor"><i class="fa-solid fa-phone"></i> Call Us</b>
<p class="txtsize">+91 1234567890 <br/>+91 1234567890</p>
<b class="txt-mycolor"><i class="fa-solid fa-envelope"></i> Mail Us</b>
<p class="txtsize">[email protected] <br/>[email protected]</p>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 text-light pt-2">
INDEED <b class="txt-mycolor pe-1">LEARNING</b><i class="fa-solid fa-book
t"></i>
<p>Indeed Learning is democratising education,<br/> making it accessible to

45
all. Join the revolution,<br/>learn on India's largest learning platform. </p>
<p><b style="border-bottom: 2px solid white; font-weight:500;">Stay
Connected</b></p>
<i class="fa-brands fa-facebook rotat fs-3"></i>&nbsp;
<i class="fa-brands fa-youtube rotat fs-3"></i>&nbsp;
<i class="fa-brands fa-twitter rotat fs-3"></i>&nbsp;
<i class="fa-brands fa-instagram rotat fs-3"></i>&nbsp;
<i class="fa-brands fa-whatsapp rotat fs-3"></i>
</div>
</div>
</div>
</div>
<div class="row footer2 bg-dark">
<p class="text-light">&copy; 2023 |<b class="txt-mycolor"> Indeed Learning </b>
2023 | Developed By <b class="txt-mycolor"> Technical Team</b></p>
</div>
</div>
<script src="{% static 'js/bootstrap.bundle.js'%}"></script>
</body></html>

46
CHAPTER 5

RESULT & DISCUSSION

5.1 Project Screenshot

5.1.1 SIGNIN

47
5.1.2 HOME

48
5.1.3 SIGN UP

49
5.1.4 CONTACTUS

50
5.1.5 ADMIN PANEL

51
CHAPTER 6
CONCLUSION & FUTURE SCOPE

6.1 CONCLUSION:

At the last the Conclusion of project is to develop a web-application which the help
programmer to get help from the site, so that they can develop their project and
application Different Technologies and make a group of programmer. A Group is
a social unit of any size that shares common values, ideas and code and queries.
The portal doesn’t have to be expensive. It supports multiple programmer goals.
Indeed Learning is not only a web portal; it is a live product of board of technical
education. In future we will add more and more features on it.

6.2 FUTURE SCOPE

Following modifications or upgrades can be done in the system.


1. Online exam facility will be added.
2. Students will be able to check their attendance.
3. Students can submit fees online.

52
References

➢ https://www.python.org/
➢ https://www.geeksforgeeks.org/html/
➢ https://www.techpile.in/
➢ https://getbootstrap.com/
➢ https://www.djangoproject.com/

53
BIOGRAPHY

Anshit Verma was born at Lakhimpur Kheri, (UP), in


India. He received his BCA degree in Computer
Science & Engineering in 2022 from Maharishi
University of Information Technology (MUIT),
Lucknow (UP), India. Presently, he is a MCA Student
in Computer Science & Engineering from Shri
Ramswaroop Memorial University.

54

You might also like