Professional Documents
Culture Documents
Project Report
Project Report
SOFTWARE DEVELOPMENT
Software development is the process of computer programming, documenting, testing and bug
fixing involved in creating and maintaining applications and frameworks resulting in a software
product. Software development is a process of writing and maintaining the source code, but in a
broader sense, it includes all that is involved between the conception of the desired software
through to the final manifestation of the software, sometimes in a planned and structured process.
Therefore, software development may include research, new development, prototyping,
modification, reuse, re-engineering, maintenance or any or any other activates that result in
software products.
1.1 SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
1.1.1 DEFINITION
The systems development life cycle (SDLC), also referred to as the application development life-
cycle, is a term used in system engineering, information system and software engineering to
describe a process for planting, creating, testing and deploying an information system. The
system development life cycle concept applies to a range of hardware and software
configurations, as a system can be composed of hardware only, software only, or a combination
of both.
A systems development lifecycle (SDLC) adheres to important phases that are essential to
developers, such as planning, analysis, design and implementation. A number of SDLC models
have been created: waterfall, fountain and spiral build and fix, rapid prototyping, incremental,
and synchronise and stabilise. The oldest of these and the best one is the waterfall model: a
sequence of stages in which output of each stage becomes the input for the next. These stages
can be characterized and divided up in different way, including the following:
Problem definition
Feasibility study
System analysis
System Design
Implementation
1
Post –implementation
Maintenance
SDLC PHASES
1. REQUIREMENT ANALYSIS
Software development lifecycle begins with requirements analysis, phase were the stakeholders
discuss the requirements of the software that needs to be developed to achieve a goal. The aim of
the requirements of analysis phase is to capture the details of each requirement and to make sure
everyone understands the scope of the work and how each requirement is going to be fulfilled. It
is a normal practice to also discuss how each requirement will be tested and so tester can add
great value in participating analysis meeting.
2. DESIGN
The next stage of Software development lifecycle is design phase. During the design phase
developers and technical architects start the high level design of the software and system to be
able to deliver to each requirement. The technical details of each design is discussed with the
stake holders and various parameters such as risk, technologies to be used, capability of the team,
project constraints, time, and budget are reviewed and then the best design approach is selected
for the product.
3. IMPLEMENTATION
After the requirements and design activities is completed the next phase of Software
development lifecycle is the implementation or development of the software. In this phase,
developers start coding according to the requirements and design that are discussed in previous
phase. Database admin creates the necessary data in the database, front-end developers create the
necessary interfaces and GUI to interact with the back-end all based on guidelines and
procedures defined by the company. Developers also right unit tests for each component to test
how the new code they have written, review each other’s codes’, create bills, and deploy
software to an environment. The cycle of development is repeated until the requirements are met.
2
4. TESTING
Testing is the last phase of Software development lifecycle before the software is delivered to
customers. During testing experienced testers start to test the system against the requirements.
The testers aim to find defects within the systems as well as verifying whether the application
behaves as expected and according to what was documented in the requirements analysis phase.
Testers can either use a test script to execute each test and verify the results or use exploratory
testing which is more of an experienced base approach.
3
1.2 WATERFALL MODEL
The WATERFALL MODEL is a sequential design process, often used in Software
development process, in which progress is seen as flowing steadily downward (like a waterfall)
through the phase of Conception, Initiation, Analysis, Design, Construction, Testing, Production/
Implementation and maintenance.
4
CHAPTER 2
INTRODUCTION TO PROJECT
2.1 About Project
Online-Learning is the computer and network enabled transfer of skills and knowledge. It
include out of classroom and in classroom education experiences via technology. E-learning is
naturally suited to distance learning and flexible learning. It is available anywhere, anytime. It is
self placed interactive instructive presented over the internet to browser equipped learners. The
Online-learning is a technology which supports teaching and learning using a computer web
technology
Well, Online Learning is a way to promote your website that gives you results. Admin can be
Manual Submission: This involves reaching out to every subject notes individually and
Many employers and learners cannot afford time to class. Travelling itself make the learning
eradicating the geographical boundaries. The resources are available 24*7 a week, and any
5
2.1.1 PROJECT PLAN
This idea of developing the Online learning website was inspired by day to day activity.
With our website students can get their notes online. Many of learners have no time to
travel by using our website they are able to learn.
To develop this Website, Python and HTML languages were used. The Python
programming language we design the website and connect front end with back end.
To fully develop this website we use pycham editor and django s to run website on
localserver and also help to create the database.
The design of this website is very simple and also easy to understand. It can be used by
anyone to learn.
In this site we make an admin module also then only admin is able to add notes
HARDWARE CONFIGURATION:-
Processor : Pentium
RAM : 512MB
HardDisk : 40GB
Monitor
Mouse
SOFTWARECONFIGURATION:-
6
2.2 SOFTWARETOOLUSED
The whole Project is divided in two parts the front end and the back end.
Frontend
The front end is designed using of Python, Django and Java script.
Python
Django
Django is a free and open source web application framework, written in Python. A web
framework is a set of components that helps you to develop websites faster and easier.
When you're building a website, you always need a similar set of components: a way to
handle user authentication (signing up, signing in, signing out), a management panel for your
website, forms, a way to upload files, etc.
Luckily for you, other people long ago noticed that web developers face similar problems
when building a new site, so they teamed up and created frameworks (Django being one of
them) that give you ready-made components to use.
Frameworks exist to save you from having to reinvent the wheel and to help alleviate some of
the overhead when you’re building a new site.
7
JAVASCRIPT
JavaScript is considered to be one of the most famous scripting languages of all time.
JavaScript, by definition, is a Scripting Language of the World Wide Web. The main usage
of JavaScript is to add various Web functionalities,Web form validations, browserdetections,
creation of cookies and so on. JavaScript is one of the most popular scripting languages and
that is why it is supported by almost all web browsers available today like Firefox, We
used the browser Opera or Internet Explorer. JavaScript is considered to be one of the
most powerful scripting languages in use today. It is often used for the development of client-
side web development. JavaScript is used to make web pages more interactive anddynamic.
JavaScript is a light weight programming language and it is embedded directly into the HTML
code. JavaScript, as the name suggests, was influenced by many languages, especiallyJava.
BACKEND-
The back end is designed using mysql which is used to design the databases
MYSQL
MySQL ("My S-Q-L", officially, but also called "My Sequel") is (as of July 2013) the world’s
second most widely used open-source relational database management system (RDBMS). It is
named after co-founder Michael Wideniusdaughter, My. The SQL phrase stands for Structured
Query Language. The MySQL development project has made its source code available under the
terms of the GNU General Public License, as well as under a variety of proprietary agreements.
MySQL was owned and sponsored by a single for-profit firm, the Swedish company
MySQL AB, now owned by Oracle Corporation .MySQL is a popular choice of database for
use in web applications, and is central components of the widely used LAMP open source web
application software stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache,
MySQL, and Perl/PHP/Python." Free-software-open source projects that require a full-featured
database management system often use MySQL. For commercialuse, several paid editions are
available, and offer additionalfunctionality.
8
CHAPTER 3
import os
import sys
def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'elearning.settings')
try:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
3.1.2 Setting.py
"""
9
Generated by 'django-admin startproject' using Django 2.2.3.
https://docs.djangoproject.com/en/2.2/topics/settings/
https://docs.djangoproject.com/en/2.2/ref/settings/
"""import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
SECRET_KEY = '&n+o0(e2w#+@#3d_)sk=7$4fo2%x(xlgag4da-rs1c3t1ys_&('
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
10
'course',
'elearning',
'static'
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
ROOT_URLCONF = 'elearning.urls'
TEMPLATES = [
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/template"],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
11
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},]
WSGI_APPLICATION = 'elearning.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
# Password validation
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
12
},
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
13
3.1.3 Urls.py
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
Class-based views
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('course.urls')),
3.1.4 Wsgi.py
WSGI config for elearning project.
14
It exposes the WSGI callable as a module-level variable named ``application``.
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
"""
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'elearning.settings')
application = get_wsgi_application()
3.1.5 Views.py
from django.shortcuts import render
def home(request):
return render(request,"home.html")
def signup(request):
return render(request,"form.html")
def contactus(request):
return render(request,"contactus.html")
def course(request):
courses=Course.objects.all()
return render(request,"course.html",context={"courses":courses})
def login(request):
return render(request,"login.html")
15
def javaindex(request):
return render(request,"javaindex.html")
def insert(request):
fname=request.POST['firstname']
lnm=request.POST['lastname']
addr=request.POST['address']
email=request.POST['email']
numb=request.POST['mobilenumber']
password=request.POST['password']
form.objects.create(firstname=fname,lastname=lnm,address=addr,email=email,mobilenumber=n
umb,password=password)
return render(request,"course.html")
def validate_login(request):
numb = request.POST['mobilenumber']
password = request.POST['password']
if form.objects.filter(mobilenumber=numb,password=password).exists():
request.session['mobile']=numb
else:
def detail(request):
detail=Course.objects.get(course_id=request.GET['cid'])
16
3.1.6 Models.py
from django.db import models
class Course(models.Model):
course_id=models.IntegerField(primary_key=True)
title=models.CharField(max_length=30)
content=models.TextField()
file=models.FileField(upload_to="course/",null=True)
def __str__(self):
return self.title
class Contactus(models.Model):
name=models.CharField(max_length=30)
email=models.EmailField()
commentt=models.TextField()
def __str__(self):
return self.email
class form(models.Model):
firstname = models.CharField(max_length=100)
lastname = models.CharField(max_length=100)
email = models.EmailField()
address=models.CharField(max_length=100)
password = models.CharField(max_length=10)
17
mobilenumber = models.IntegerField()
def __str__(self):
return self.email
3.1.7 home.html
<html>
<head>
<title> home page </title>
</head>
<body bgcolor="red">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="http://127.0.0.1:8000/">HOME</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="course">COURSE <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="contactus">CONTACT US</a>
</li>
<li class="nav-item">
<a class="nav-link" href="form">SignUP</a>
</li>
<li class="nav-item">
<a class="nav-link" href="login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://127.0.0.1:8000/admin/login/?next=/admin/">Admin
Login</a>
</li>
</li>
18
</ul>
</div>
</nav>
<div class="container">
<div class="hero">
There are many terms used to describe learning that is delivered online, via the internet,
ranging from Distance Education, to computerized electronic learning, online learning, internet
learning and many others. We define eLearning as courses that are specifically delivered via
the internet to somewhere other than the classroom where the professor is teaching. It is not a
course delivered via a DVD or CD-ROM, video tape or over a television channel.
</p>
</div>
<!-- Skills and intrest section -->
<div class="container">
<div class="sections">
<h2 class="section-title">COURSES</h2>
<div class="list-card">
<div>
<h3>Object programming & frameworks</h3>
<span class="exp">PHP, Symfony, Laravel, Silex, …</span>
</div>
</div>
<div class="list-card">
<div>
<h3>Design integration</h3>
<span class="exp">Style and tools, JS Frameworks</span>
19
</div> </div>
<div class="list-card">
<div>
<h3>Linux</h3>
<span class="exp">Scripting, Servers management and protocols,
Automation</span>
</div>
</div>
</div>
<div class="sections">
<h2 class="section-title">COURCES</h2>
<div class="list-card">
<div>
<h3>Scripting languages</h3>
<span class="exp">PHP, JS, Bash, Python</span>
</div>
</div>
<div class="list-card">
<div>
<h3>Hacking</h3>
<span class="exp">Linux, Crawlers, Bots,
Network</span>
</div>
</div>
</div>
</div>
<div class="card">
<div class="skill-level">
</div>
<div class="skill-meta">
<h3>Technical solutions</h3>
<span>Such as web services, scripts, configurations</span>
</div>
20
</div>
<div class="card">
<div class="skill-level">
</div>
<div class="skill-meta">
<h3>Leading</h3>
<span>Web projects and ensure the quality of delivery</span>
</div>
</div>
</body>
</html>
3.1.8 signup.html
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>register</title>
{% load static %}
<link href="{% static 'css/style.css' %}" type="text/css" rel="stylesheet"/>
</head>
<body bgcolor="yellow">
<center>
<h1> register here </h1>
</center>
<center>
<div class="ak">
<form action="insertdata" method="post">
{% csrf_token %}
<fieldset bgcolor="#f4f7f8">
<legend><span class="number"></span> register here</legend>
21
<label>Last Name</label><br>
<input type="text" name="lastname" placeholder="enter your last name"/><br>
<label>Email Id</label><br>
<input type="text" name="email" placeholder="enter your email" required/><br>
<label> Address </label><br>
<input type="text" name="address"placeholder="enter your valid address"/><br>
<label> Password: </label><br>
<input type ="password" name="password"placeholder="enter your password"/><br>
<label> Mobile:</label><br>
<input type="text" name="mobilenumber" placeholder="enter your mobile number"><br>
<br>
<input type="submit" value="submit"/><br>
</fieldset>
</form>
</div>
</center>
</body>
</html>
3.1.9 login.html
<html>
<head>
<title>Login Page</title>
</head>
<body>
<div class="container">
<div class="d-flex justify-content-center h-100">
<div class="card">
<div class="card-header">
<h3>Sign In</h3>
<div class="d-flex justify-content-end social_icon">
<span><i class="fab fa-facebook-square"></i></span>
<span><i class="fab fa-google-plus-square"></i></span>
<span><i class="fab fa-twitter-square"></i></span>
</div>
22
</div>
<div class="card-body">
<form action="validate_login" method="post">
{% csrf_token %}
<div class="input-group form-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-
user"></i></span>
</div>
<input type="text" name="mobilenumber" class="form-
control" placeholder="mobile number">
</div>
<div class="input-group form-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-
key"></i></span>
</div>
<input type="password" name="password" class="form-
control" placeholder="password">
</div>
<div class="row align-items-center remember">
<input type="checkbox">Remember Me
</div>
<div class="form-group">
<input type="submit" value="Login" class="btn float-right
login_btn">
</div>
</form>
</div>
<div class="card-footer">
<div class="d-flex justify-content-center links">
Don't have an account?<a href="form">Sign Up</a>
</div>
<div class="d-flex justify-content-center">
<a href="form.html">Forgot your password?</a>
23
</div>
</div>
</div>
</div>
</div>
</body>
</html>
3.1.2.0
<html>
<head>
<title> all course</title>
<link rel="stylesheet"
href=https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css>
</head>
<div class="card text-center">
<div class="card-body">
<h5 class="card-title">DATA STRUCTURE</h5>
<p class="card-text">................data structure..........</p>
<a href="#" class="btn btn-primary">MORE</a>
</div>
{% for course in courses %}
<div class="card-body">
<h5 class="card-title">{{ course.title }}</h5>
<p class="card-text">................{{ course.content }}..........</p>
<a href="/detail?cid={{course.course_id}}" class="btn btn-primary">More</a>
</div>
{% endfor %}
</div>
</body>
</html>
3.1.2.1 Contactus.html
<!doctype html>
<html lang="en">
<head>
24
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
<style>
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="home">HOME</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
25
</div>
</nav>
<div class="container">
<div style="text-align:center">
<h1>Contact Us</h1>
</div>
<div class="row">
<div class="column">
<div id="map" style="width:100%;height:500px">
<h3>CONTACT INFORMATION</h3><br>
<p>
<h4>ADDRESS</h4> <br>
Kvch <br>
C 107 sector 2 noida <br> <br>
<h4>Email</h4>
Mr. Naveen
<a href="">naveen@gmail.com</a><br>
Mr.Akshay
<a href="">akshaya801998@gmail.com</a><br><br>
<h4>Cell number</h4>
(+91)8894961574<br>
(+91)9816570837<br>
</div>
</div>
<div class="column">
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
<label for="fname"> Name</label>
<input type="text" id="fname" name="name" placeholder=""></br>
<label for="lname">Email</label></br>
<input type="email" id="lname" name="lastname" placeholder=""><br>
<label for="subject">Comment</label>
<textarea id="subject" name="subject" placeholder="Write something.."
26
style="height:170px"></textarea>
<input type="submit" name="send">
</form>
</div>
</div>
<div class="details">
</div>
</body>
</html>
3.2TABLEDESIGN
The following are the tables that are involved in the proposed system
LOG IN:-
FIELD NAME DATA TYPE
USER NAME VARCHAR
PASSWORD VARCHAR
SIGN UP:-
FIELD NAME DATA TYPE
FIRST NAME CHAR
LAST NAME CHAR
E-MAIL VARCHAR
PASSWORD VARCHAR
ADD NOTES:-
FIELD NAME DATA TYPE
COURSE ID VARCHAR
COURSE TITLE VARCHAR
CONTENT VARCHAR
27
CHAPTER 4
ANALYSIS
4.1 FRONT END
HOME PAGE:-
Screenshot 4.1
LOGIN:-
Screenshot 4.2
28
SIGN UP:-
Screenshot 4.3
CONTACT US:-
Screenshot 4.4
29
ADMIN LOGIN:-
Screenshot 4.5
4.2BACK END
Screenshot 4.6
30
ADD NOTES:-
Screenshot 4.7
ADD USER:-
Screenshot 4.8
31
CHANGE PASSWORD:-
Screenshot 4.9
MANAGE USETR:-
Screenshot 4.10
32
CHAPTER 5
To conclude the description about the project: The project developed using Python and
MySQL is based on the requirement specification of the user and the analysis of the existing
system, with flexibility for futureenhancement.
Everything will be Digitialized or online day by day. With this admin can share notes online and
safe their notes for life time. This is very helful to those who want to learn. This website is
helpful for students to prepare for exams.
33
5.3BIBILIOGRAPHY
www.w3schools.com
www.python.org
en.wikipedia.org/wiki/Python
www.hotscripts.com/category/python/
www.apache.org/
www.mysql.com/click.python?e=35050
34