Professional Documents
Culture Documents
ONLINE CLASSES
Designed By:
Miss.Yashashree Hanumant Khanolkar.
Submitted To:
K.M.S.P. MANDAL’S
SANT RAWOOL MAHARAJ MAHAVIDYALAYA, KUDAL.
(NAAC Re-Accreditation “B” Grade
In the partial fulfillment of
M.Sc. Information Technology (Part II)
Through:
THE HEAD,
DEPARTMENT OF INFORMATION TECHNOLOGY,
S.R.M. COLLEGE, KUDAL.
PROJECT REPORT
2020-21
DECLARATION
To,
The Head,
S. R. M. College, Kudal.
Respected Sir,
DATE:
PLACE: KUDAL.
CERTIFICATE
Online Classes
DATE:
K.M.S.P. MANDAL’S
SANT RAWOOL MAHARAJ MAHAVIDYALAYA,
KUDAL.
CERTIFICATE
DATE: Proprietor
ACKNOWLEDGEMENT
Thank You.
1. I Acknowledgment
4. IV Conclusion 58 & 59
6. VI Annexure
62 to 64
List of Tables
1
Name:Kunal Dinesh Sawant
Class:TYCS(Sem V)
Roll no:25
Introduction:
Problem Statement:
In the Pandamic periods all the School / Colleges are kept shutdown this leads to
gap between studies this app will help to take online classes which will solve the
above problem Many apps are also in the market which allows this functionality
but I am adding some key features like attendance managing system recorded
lectures and Assignment assigning functionality in the app.
2
Process Description:
At first I observe other online lecture taking app that are use for taking online
lectures like Zoom , Google meet then I noticed they only has live lecture taking
functionality they don’t have Online Attendance Management, Online
Assignment, Recorded lecture functionality I have check all the platform but there
are no such platform which has all these function so I decided to make a app for
online classes which helps the students as well as teacher.
Hardware:
3
Chapter IIi
Main Report
4
Improve user-accessibility and time flexibility to engage learners in the
learning process
Theoretical Background
5
The project Online Classes involves only one stakeholder
such as Admin. Admin can create, Edit and Delete information
about Classes.
According to the Pandemic situation which we face in 2020
– 21 there is a complete lockdown so no one can attend lectures
in school & colleges because of this the academic performance is
cannot be maintained properly.
This project is really helpful for students and teachers who
attend online lectures. In this project admin can manage multiple
classes, upload videos, documents for each class separately. Each
class contain one or more students every student have to create
account then they have to login and apply for the course, pay
fees , and then get access to all lectures by the instructor /
Teacher. Here student also access quiz, ask questions to the
instructors and get the perfect answers for that question.
Students take courses largely as a means of improving
skills. In present e-classes for serious learnings, bursting with
features & with latest SEO standards simply didn't exists.
Our all in one software is sparkling with features, customer-
friendly, secure, scalable, reliable, great looking, synchronized,
expandable and flexible.
Survey of Literature
6
There are so many applications used for online study but they
are costly and there are some limitations for managing the
classes / lectures. First I searched for the method which we can
access free, so I found that YouTube is the platform on which
teachers can upload videos on their channel and students can
watch them , but here whenever the teachers want to upload paid
lectures there is no any way to pay fees and also anyone can
access lectures without enrolling in the particular class Also I
download BY JU'S to search for the services they provided so I
found that there are so many services they provided but to get
their courses you have to purchase iPad and after that they set
their application in that. This process is costs too much and not
affordable to all students. Therefore need for specialized
application or website arise.
For Student –
8
Student first have to create account by entering details then after
login they get redirected to student dashboard there are many courses
shown from which student can select particular courses and add them in
wishlist. There are many Options that student can access easily such as
Courses, Wish-list, Notification and Order.
In Courses section after selecting particular course and clicking on
Go to course student can see the course details such as Course fees,
medium of teaching, Requirements for course etc. after that if the
selected course is paid then student have to pay online by entering debit
card details which is safe and easy for Student (user). After successful
payment student get easily redirected to the selected course then student
can access the data such as files, notes, assignments, announcements,
Video lectures, Quiz, Questions- answers and also submit assignments
for that class. Without paying fees student cannot access any data about
course. After clicking on my courses students get the course in which
they are enrolled and then they can access detailed course data.
System Planning
9
Project planning is at the heart of the project life cycle, and tells
everyone involved where you’re going and how you’re going to get
there. The planning phase is when the project plans are documented,
the project deliverables and requirements are defined, and the project
schedule is created. It involves creating a set of plans to help guide
you through the implementation and closure phases of the project.
The plans created during this phase will help you manage time, cost,
quality, changes, risk, and related issues. They will also help you to
control external suppliers to ensure that you deliver the project on
time, within budget, and within schedule.
You may also need to plan your communications and procurement
activities, as well as contract any third-party suppliers.
The purpose of the project planning phase is to:
Gantt chart
10
This chart displays the expected date & originally completed date
i.e. actual completion of my project.
Proposed Time
Actual Time
Preliminary
Investigation
System
Analysis
System
Design
System
Coding
Testing &
Implementation
11
Details of Hardware & Software used
Compatible Browsers – IE11, Firefox, Safari, Opera,
Chrome, Edge.
Server Requirements
12
Detailed Life Cycle of the Project
Initialization
Requirements
Planning Design
Evaluation
Evaluation Implementation
Verification
Deployment
13
Process Model
One of the most prominent features of this model is the fact that one
can begin the development process without really knowing the
requirements. The iterative and incremental SDLC model, in other
words, looks like a set of Mini Waterfall/V-Shaped models.
Benefits:
14
Data flow diagrams
15
It shows how information enters and leaves the system, what
changes the information and where information is stored. The
purpose of a DFD is to show the scope and boundaries of a system as
a whole. It may be used as a communications tool between a systems
analyst and any person who plays a part in the system that acts as the
starting point for redesigning a system.
Forgot
Manage Student Details
Password
Check Manage
Credentials Modules
Manage Announcements
Update/
Change Manage Modules
Password
Manage Contents
16
Entity Relationship diagram
ERD –
The traditional approach places a great deal of emphasis on data storage
requirements for the new system. The model used to define the data storage
requirements is called the entity-relationship diagram (ERD).
-Rectangles represent the data entities.
-Lines connecting the rectangles show relationships among the data entities.
-Entity
-Relationships
-Connection line
-Weak Entity
-Generalization
17
Entity Relationship diagram
login_usr login_pass
Login per_rollid
role_name
per_id per_module
role_desc role_id
per_name
Roles has Permissions
ur_name ur_type
ur_id
t_mob User
t_add s_name
t_email
t_name s_email
Teacher Student
s_add s_name
s_dob s_count
Buy
conduct generate
cr_type
Courses
cr_name
cr_cat
has manages
makes
m_name m_type
an_type
Module
m_desc
Announcements
an_name
has
c_type c_desc
c_name content
Document Cideo
Video Animation Activity
do_type vd_type anm_type
Diagram
18
An activity diagram is a variant of state chart diagram organized
according to actions, and mainly targeted towards representing the internal
behavior of a method or a use case. An activity is represented by a rounded
rectangle.
-Start
-Activity
-Connection line
- End
Activity Diagram
19
Start
Login to Online Class Portal
Manage Teachers Manage Students Manage Courses Manage Modules Manage Contents
Class Diagram
Class diagrams express, in a general way, the static structure of a system, in
terms of classes and relationships between those classes
20
Just as a class describes a set of objects, an association describes a set of
links; objects are class instances, and links are association instances.
A class diagram does not express anything specific about the links of a
given object, but it describes, in an abstract way, the potential links from an object
to other objects.
Class Name
Member Variables
-Rectangular box
(To represent class)
Member Functions
21
Class Diagram
Permission Student
Role
+per_id:int +s_id:int
+role_id:int +per_role:string +s_name:string
+role_title:string +per_title:string +s_mobile:string
+role_desc:string +per_module:string
1 has 1 * generate * +s_email:string
+per_desc:string +s_address:string
+addroll() +s_username:string
+editroll() +s_password:string
1 +addper()
+deleterole() +editper()
+searchroll() +deleteper()
+assignrole() +searchper() +addstd()
+editstd()
* +delstd()
+searchstd()
admin has
+user_id:int manage
+user_name:string
+user_role:int
+user_email:string
+user_dob:date
+user_address:string *
1
+adduser()
+edituser()
+deleteuser()
+searchuser()
+addmod()
+editmod() +addcontent() +addanoun()
+deletemod() +editcontent() +editanoun()
+searchmod() +deletecontent() +deleteanoun()
+searchcontent() +searchanoun()
*
has
*
22
Object Diagram
Object diagrams, or instance diagram, illustrate objects and links. As in the case
of class diagrams, object diagrams represent the static structure .The notation
used for object diagrams is derived from that of class diagrams; elements that
are instances are underlined.
Object diagrams are primarily used to show a context –before or after
an interaction, for example. However, they are also used to aid the
understanding of complex data structures, such as recursive structure.
-Rectangular box
: Object (To represent object)
-Connection line
23
Object Diagram
U:User
24
Input Output screen
Design
25
Homepage
Signup
26
Account created
Add to cart
27
28
29
Received SMS
Purchase history
30
Invoice
Course content
31
List of subject vise video lectures
Announcements
Quiz
Assignments 32
Overview
Login as Admin
Admin
interface
33
Admin Dashboard
Users
Courses
Adding course
Add course 34
Description of course
36
Output in user section
Process Involved
37
Functionality of project
First type classes.designoceanservices.com on your browser. Then
you get the list of courses with login, signup options. The users which
are not registered can register by clicking on Do not have an account.
And enter the details to register. There are two types of user in this
project.
Admin first have to login then redirected to Admin Dashboard
there are many options that admin can handle easily such as Users,
Categories, Courses, Orders.
In User section admin can Add, Edit, Delete user (Student) by
entering the details easily. In Categories section admin can Add, Edit,
Delete and Enable, Disable the categories. In Courses section admin
can Add, Edit, Delete Course and also there are many options such as
adding course classes, video lectures , enclose pdf files , creating quiz,
answering questions and making important announcements by entering
38
the details easily. In Orders section admin can Enroll User in a
particular course also by clicking on any particular students view button
admin get the Invoice of that user and get the printed invoice if needed.
Student first have to create account by entering details then after
login they get redirected to student dashboard there are many courses
shown from which student can select particular courses and add them in
wishlist. There are many Options that student can access easily such as
Courses, Wish-list, Notification and Order.
In Courses section after selecting particular course and clicking on
Go to course student can see the course details such as Course fees,
medium of teaching, Requirements for course etc. after that if the
selected course is paid then student have to pay online by entering debit
card details which is safe and easy for Student (user). After successful
payment student get easily redirected to the selected course then student
can access the data such as files, notes, assignments, announcements,
Video lectures, Quiz, Questions- answers and also submit assignments
for that class. Without paying fees student cannot access any data about
course. After clicking on my courses students get the course in which
they are enrolled and then they can access detailed course data.
39
Methodology used for
testing
40
Manual Testing
Manual Testing is a type of software testing in which test cases are
executed manually by a tester without using any automated tools. The
purpose of Manual Testing is to identify the bugs, issues, and defects in
the software application. Manual software testing is the most primitive
technique of all testing types and it helps to find critical bugs in the
software application.
Any new application must be manually tested before its testing can
be automated. Manual Software Testing requires more effort but is
necessary to check automation feasibility. Manual testing concepts does
not require knowledge of any testing tool. One of the Software Testing
Fundamental is "100% Automation is not possible". This makes
Manual Testing imperative.
Steps:-
1. Read and understand the software project documentation/guides. Also,
study the Application under Test (AUT) if available.
41
2. Draft Test cases that cover all the requirements mentioned in the
documentation.
3. Review and baseline the test cases with Team Lead, Client (as
applicable)
4. Execute the test cases.
5. Report bugs.
6. Once bugs are fixed, again execute the failing test cases to verify they
pass.
Test Cases
&
Test reports
42
Sr. Test Case Input Expected Output
No Description
.
1 Adding the Click on add user button & After clicking on add user
user manually fill the information button, and filling the
information user get
successfully added.
2 Adding the Click on add course button & After clicking on add course
course fill the information button, and filling the
necessary information course
get successfully added.
3 use Edit Click on edit button in course After clicking on edit button
button in and add the course chapter and then clicking on add
course to button in course topic the
add course course topic (subject) get
chapter successfully added.
43
4 Use add button in Click on add button in course After clicking on add button in
course class and class section course class section then it
check whether it automatically present
automatically dropdown list of course
present dropdown chapters (subjects)
list of course
chapters
(subjects)
Test Cases
Test Reports
Sr. Test Case Input Expected Actual
No. Description Output output
1 Adding the user Click on add After clicking on add After clicking on
manually user button user button, and add user button,
& fill the filling the information and filling the
information user get successfully information user
added. get successfully
added.
2 Adding the course Click on add After clicking on add After clicking on
course course button, and add course button,
button & fill filling the necessary and filling the
the information course necessary
information get successfully information course
added. get successfully
added.
3 use Edit button in Click on edit After clicking on edit After clicking on
course to add button in button and then edit button and
course chapter course and clicking on add then clicking on
add the button in course add button in
course topic the course topic course topic the
chapter (subject) get course topic
44
successfully added. (subject) get
successfully added.
4 Use add button in Click on add After clicking on add After clicking on
course class and check button in button in course class add button in
whether it course class section then it course class
automatically present section automatically section then it
dropdown list of course present dropdown automatically
chapters (subjects) list of course present dropdown
chapters (subjects) list of course
chapters (subjects)
5 Add questions , Add After adding After adding
answers and questions, questions , answers questions , answers
announcements answers and and announcements and
And check whether announcem they appear on announcements
they can appear on ents students portal they appear on
students portal students portal
use AuthenticatesUsers;
/**
* Where to redirect users after login.
45
*
* @var string
*/
public function authenticated()
{
if (Auth::User()->status == 1)
{
if ( Auth::User()->role == "admin" || Auth::User()->role == "instructor" )
{
// do your magic here
return redirect()->route('admin.index');
}
else
{
return redirect('/home');
}
}
else{
Auth::logout();
return redirect()->route('login')->with('delete','You are deactivated !');
}
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
46
'status' => 1], $request->remember)){
return redirect()->intended('/home');
}
else
{
$errors = new MessageBag(['email' => ['Email or password is invalid.']]);
return Redirect::back()->withErrors($errors)->withInput($request-
>except('password'));
}
if ($user) {
Auth::login($user);
return redirect()-> action('HomeController@index');
}
else {
return view('auth.register', ['name'=> $userSocial->getName(),
'email' => $userSocial->getEmail()]);
}
}
}
UserController.php
<?php
namespace App\Http\Controllers;
use App\User;
use App\Allstate;
use App\Allcity;
use App\Allcountry;
use Illuminate\Http\Request;
use Hash;
use Session;
use Image;
use Auth;
use App\Wishlist;
use App\Cart;
use App\Order;
use App\ReviewRating;
use App\Question;
47
use App\Answer;
use App\State;
use App\City;
use App\Country;
use App\Course;
use App\Meeting;
use App\BundleCourse;
use App\BBL;
use App\Instructor;
use App\CourseProgress;
return $this->middleware('auth');
/**
* @return \Illuminate\Http\Response
*/
$users = User::all();
/**
* @return \Illuminate\Http\Response
*/
48
public function create()
$cities = Allcity::all();
$states = Allstate::all();
$countries = Country::all();
/**
* @return \Illuminate\Http\Response
*/
$data = $this->validate($request, [
]);
$input = $request->all();
if ($file = $request->file('user_img'))
$optimizeImage = Image::make($file);
$optimizePath = public_path().'/images/user_img/';
$image = time().$file->getClientOriginalName();
49
$optimizeImage->save($optimizePath.$image, 72);
$input['user_img'] = $image;
$input['password'] = Hash::make($request->password);
$input['detail'] = $request->detail;
$input['email_verified_at'] = \Carbon\Carbon::now()->toDateTimeString();
$data = User::create($input);
$data->save();
return redirect('user'); }
/**
* @return \Illuminate\Http\Response
*/
//
/**
* @return \Illuminate\Http\Response
*/
$cities = City::all();
$states = State::all();
$countries = Country::all();
50
$user = User::findorfail($id);
return view('admin.user.edit',compact('cities','states','countries','user'));
/**
* @return \Illuminate\Http\Response
*/
$user = User::findorfail($id);
$request->validate([
]);
if(config('app.demolock') == 0){
$input = $request->all();
if($file = $request->file('user_img')) {
if($user->user_img != null) {
$content = @file_get_contents(public_path().'/images/user_img/'.
$user->user_img);
if ($content) {
unlink(public_path().'/images/user_img/'.$user->user_img);
$optimizeImage = Image::make($file);
$optimizePath = public_path().'/images/user_img/';
$image = time().$file->getClientOriginalName();
$optimizeImage->save($optimizePath.$image, 72);
$input['user_img'] = $image;
51
}
if(isset($request->update_pass)){
$input['password'] = Hash::make($request->password);
else{
$input['password'] = $user->password;
if(isset($request->status))
$input['status'] = '1';
else
$input['status'] = '0';
$user->update($input);
else
return redirect()->route('user.index');
/**
* @return \Illuminate\Http\Response
*/
52
{
$user = User::find($id);
if(config('app.demolock') == 0){
if ($user->user_img != null)
$image_file = @file_get_contents(public_path().'/images/user_img/'.
$user->user_img);
if($image_file)
unlink(public_path().'/images/user_img/'.$user->user_img);
$value = $user->delete();
Course::where('user_id', $id)->delete();
Wishlist::where('user_id', $id)->delete();
Cart::where('user_id', $id)->delete();
Order::where('user_id', $id)->delete();
ReviewRating::where('user_id', $id)->delete();
Question::where('user_id', $id)->delete();
Answer::where('ans_user_id', $id)->delete();
Meeting::where('user_id', $id)->delete();
BundleCourse::where('user_id', $id)->delete();
BBL::where('instructor_id', $id)->delete();
Instructor::where('user_id', $id)->delete();
CourseProgress::where('user_id', $id)->delete();
if($value)
return redirect("user");
} }
else
53
{
} }}
AnnounsmentController.php
<?php
namespace App\Http\Controllers;
use App\Announcement;
use Illuminate\Http\Request;
use App\User;
use App\Course;
use DB;
use Session;
class AnnounsmentController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$data = $this->validate($request,[
'announsment' => 'required',
]);
$input = $request->all();
$data = Announcement::create($input);
if(isset($request->status))
54
{
$data->status = '1';
}
else
{
$data->status = '0';
}
$data->save();
Session::flash('success','Added Successfully !');
return redirect()->route('course.show',$request->course_id);
}
/**
* Display the specified resource.
*
* @param \App\announsment $announsment
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$annou = Announcement::find($id);
$user = User::all();
$courses = Course::all();
return view('admin.course.announsment.edit',compact('annou','courses','user'));
}
/**
* Show the form for editing the specified resource.
*
* @param \App\announsment $announsment
* @return \Illuminate\Http\Response
*/
public function edit(announsment $announsment)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\announsment $announsment
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$data = Announcement::findorfail($id);
$input = $request->all();
if(isset($request->status))
{
$input['status'] = '1';
}
else
{
55
$input['status'] = '0';
}
$data->update($input);
Session::flash('success','Updated Successfully !');
return redirect()->route('course.show',$request->course_id);
}
/**
* Remove the specified resource from storage.
*
* @param \App\announsment $announsment
* @return \Illuminate\Http\Response
*/
public function destroy( $id)
{
DB::table('announcements')->where('id',$id)->delete();
return back();
}
}
Chapter iv
Conclusion
56
Conclusion
57
their permissions.
Updating information becomes so easier.
The system has adequate scope for modification in future if it is
necessary.
Chapter v
Future enhancements
58
Future Enhancement
2] We will add the facility which checks that how much time the
student accessing the lectures this helps teachers to get particular
student record
59
Chapter vi
Annexure
60
List of Tables
courses table
61
course_classes table
course_chapters
Users table
62
States table
allcountry table
63
Chapter vii
REFERENCES
And
BIBLIOGRAPHY
References and bibliography
https://elearningindustry.com/advantages-and-disadvantages-
online-learning
https://in.godaddy.com/
64