Professional Documents
Culture Documents
2014-2015
By
Bhavik Rana 43
Nikhil Sawarkar 51
Manish Shanbaug 53
2014-2015
By
Bhavik Rana 43
Nikhil Sawarkar 51
Manish Shanbaug 53
2
St. John College of Engineering and Technology, Palghar 2014-2015
UNIVERSITY OF MUMBAI
CERTIFICATE
This to certify that the work “MOODLE MOBILE NOTIEFIER” has been carried out by
Bhavik Rana 43
Nikhil Sawarkar 51
Manish Shanbhag 53
have satisfactorily carried out the Project work entitled “Moodle Mobile Notifier“ in partial
fulfillment of Bachelor of Engineering in Computer Engineering as laid down by University of
Mumbai during the academic year 2014-2015.
_____________________ _______________
Mr. Vaibhav Ambhire Mrs. Neeta Patil
( Internal Guide ) ( HOD )
________________ _________________
Internal Examiner External Examiner
__________________
Dr. Satish Taklikar
(Principal)
3
St. John College of Engineering and Technology, Palghar 2014-2015
Acknowledgement
The satisfaction that accompanies the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it possible, whose
constant guidance and encouragement helped us throughout.
We sincerely express deep sense of gratitude to our guide Mr. Vaibhav Ambhire and
Mr.Gunashekar Sir also Head of Department Mrs. Neeta Patil for their valuable guidance,
inspiration and constructive suggestions that helped us in the preparation of this project.
We express our sincere gratitude to our respected principal Dr. Satish Takalikar for
encouragement and facilities provided to us.
We would also like to take the opportunity to thank our professors for their creative inputs
and support. All of the aforementioned people have a big part in clearing our doubts about the
project and giving us confidence to go about for the project.
Bhavik Rana
Nikhil Sawarkar
Manish Shanbhag
4
St. John College of Engineering and Technology, Palghar 2014-2015
ABSTRACT
E-learning management systems are increasingly used as online communication platforms between
student and teachers in traditional, distance and open learning educational institutions. Moodle is
the most used open source e-learning management systems platform with around 68 million users
being served. Moodle server side application can be accessed via web browser or any computer or
Internet enabled hand-held device. The existing system has some limitations: The lack of
synchronization between client and server applications i.e. between posting and viewing the
information, Students cannot easily differentiate between newly and previously seen information,
When Moodle server is accessed from a hand-held device using mobile telecommunication
networks web bandwidth is considered as scarce resource.
The above listed limitations have negative impact on tutor-student communication when e-learning
management system platforms are used. The Moodle Mobile Notifier application will be based on
three tier architecture. The tiers are First tier or the Client Tier will be a mobile application build for
Google Android Operating System, Second tier or Server Tier will be the Server Application build
for browsers using PHP/ MySQL, Third tier or the Database Tier will be a database containing
information of tutor and student.The Client Side Application will help the clients to get the
notifications as soon as server posts anything on the Server side application.
5
St. John College of Engineering and Technology, Palghar 2014-2015
TABLE OF CONTENTS
1.0 Introduction 1
1.1 Motivation 1
1.2 Problem Statement 1
1.3 Scope 2
2.0 Literature Survey 3
2.1 Literature Study 4
2.2 Existing System
3.0 Software Requirement Specification 5
4.0 Requirement Gathering & Analysis 17
4.1 Use Case and description 17
4.2 Feasibility Study 19
5.0 Design 20
5.1 UML Diagram 20
5.2 Data Flow Diagram 23
6.0 Proposed System 25
7.0 Implementation 28
7.1 Algorithm or Methodology 28
7.2 Technology Used 33
7.3 Project Time Line Chart 35
8.0 Result & Discussions 37
9.0 Conclusion & Further Work 41
9.1 Conclusion 41
9.2 Further Work 41
10.0 References 42
11.0 Appendix 43
6
St. John College of Engineering and Technology, Palghar 2014-2015
LIST OF FIGURES
LIST OF TABLES
7
St. John College of Engineering and Technology, Palghar 2014-2015
CHAPTER 1: INTRODUCTION
In this chapter, we would just briefly look into the introduction of the project requirements
needed for it and its purpose and aim. Also, a simple development plan for the prototype system
which was drafted out is being presented here in this chapter. An overview of the system initially
planned to be developed is also being presented here. As proposed earlier,we are implementing this
project so that all the notices, notes, study material which will be updated on theMoodle by
Professors, Head of Department, Principal will be send as notifications directly to the student or
faculty on their android smartphone. The main focus of this android application will be to send
notifications on the android smartphone.
This module will be connected to the Moodle database and then the clients who will be
logged in on the android application will only be send the notifications on their smartphone.
If the user is logged off the android application then the notifications will queued in and as
it will login the same moment he will start receiving notifications on the smartphone. The client
will now be able to classify the material date wise as he can see all the new material with date in
his notifications panel unlike the existing system.
8
St. John College of Engineering and Technology, Palghar 2014-2015
1.1 Motivation
As proposed earlier, we are implementing this project so that all the notices, notes, study
material which will be updated on the Moodle by Professors, Head of Department, Principal
will be send as notifications directly to the student or faculty on their android smartphone. The
main focus of this android application will be to send notifications on the android smartphone.
This module will be connected to the Moodle database and then the clients who will be
logged in on the android application will only besend the notifications on their smartphone.
If the user is logged off the android application then the notifications will queued in and
as it will login the same moment he will start receiving notifications on the smartphone. The
client will now be able to classify the material date wise as he can see all the new material
with date in his notifications panel unlike the existing system.
This application is designed for Android Operating System. We will be sending notifications
bygroup to the students Android smart phones for every updation done on the moodle site.
The limitations from present system are eliminated.
1.3 Scope
This application designing is done to overcome the disadvantages of the present moodle
applications in the market.
9
St. John College of Engineering and Technology, Palghar 2014-2015
Both moodle applications have their own limitations and all have some advantages. Description of
the systems are as follows:
1.) m-Touch:
Advantages:
Limitations:
Advantages:-
Limitations:-
10
St. John College of Engineering and Technology, Palghar 2014-2015
Existing system has a very attractive and user-friendly User Interface.The Existing system can
upload the material , voice notes, videos but then they cannot send notifications to the users with the
latest updates via notifications.The main problem with this applications is that they have not tried
to resolve the problems like sending notifications to the user and have improved just the
user-interface.
A closer look at the features of each of these applications confirms that none of these applications is
capable of solving the notification issue. Furthermore, concerning the internet resource
consumption, these apps rely - partially or completely -on an embedded web browser to access the
information.
11
St. John College of Engineering and Technology, Palghar 2014-2015
1. Introduction:-
Moodle Mobile Notifier is a college website which is used to send the notifications to the
registered users. It is mainly used for android cell phones. In this section we are going to see overall
description of the project. i.e. software used, Interfaces, Scope etc.
1.1. Purpose
1.2. Scope
It is developed for a genetic algorithm based method for finding similarity of web document.
Average relevancy of document calculated. Query expanded with new keywords increases average
relevancy. It can be done by using database. It can be done for 200 documents .User input is set of
keywords. Genetic Algorithm System input is set of documents.
12
St. John College of Engineering and Technology, Palghar 2014-2015
1.5. Overview
The further section of the SRS describes the product with respect to the product perspective,
functions, user characteristics and general constraints. It also consists of the functional and non-
functional requirements along with the various analysis models.
2. Overall description
A brief description of the product perspective along with its functions and the general constraints is
described in this section of the SRS.
• Keyboard
• Mouse
• Mouse
• Keyboard
13
St. John College of Engineering and Technology, Palghar 2014-2015
Google Cloud Messaging (GCM) is a service that enables developers to send data from servers to
both Android applications or Chrome apps and extensions.
The service provides a simple, lightweight mechanism that servers can use to tell mobile
applications to contact the server directly, to fetch updated application or user data. The service
handles all aspects of queueing of messages and delivery to the target application running on the
target device.
The free service has the ability to send a lightweight message informing the Android application of
new data to be fetched from the server. Larger messages can be sent with up to 4 KB
of payload data. Each notification message size is limited to 1024 bytes, and Google limits the
number of messages a sender sends in aggregate, and the number of messages a sender sends to a
specific device.
Applications on an Android device don’t need to be running to receive messages. The system will
wake up the application via a mechanism called Intent Broadcast when the message arrives, as long
as the application is set up with the proper broadcast receiver and permissions. GCM does not
provide any built-in user interface or other handling for message data. Instead, it simply passes raw
message data received straight to the application, which has full control of how to handle it. For
example, the application might post a notification, display a custom user interface, or silently sync
data.
14
St. John College of Engineering and Technology, Palghar 2014-2015
The ability to remove the traditional based failures and provides satisfying results.
• Easy to use
• User Friendly
• Scalable
• Innovative
3.5.1 Reliability
The System is user friendly, easy to use, and can communicate with the
android devices using the GCM .It is supported by Android 4.2(API 17) and above.
3.5.2 Availability
It is available for use whenever the server is working. The client will have
to login in order to receive notifications.
3.5.3 Security
3.5.4 Maintainability
15
St. John College of Engineering and Technology, Palghar 2014-2015
fig 4.1
16
St. John College of Engineering and Technology, Palghar 2014-2015
Table 1
The very first phase in any system developing life cycle is preliminary investigation. The
feasibility study is a major part of this phase. A measure of how beneficial or practical the
development of any information system would be to the organization is the feasibility study.
17
St. John College of Engineering and Technology, Palghar 2014-2015
Once the hardware and software requirements get fulfilled, there is no need for the user of our
system to spend for any additional overhead.
For the user, the web site will be economically feasible in the following aspects:
The client will receive notification on his smartphone once logged in.
The client need not keep checking the site for new entries.
The client will be updated with date so that no problem of locating the data on the
web.
User Interface:
KEYBOARD
MOUSE
Hardware interface:
COMPUTER DESKTOP
KEYBOARD
MOUSE
18
St. John College of Engineering and Technology, Palghar 2014-2015
Software interface:
Database : My SQL
19
St. John College of Engineering and Technology, Palghar 2014-2015
CHAPTER 5: DESIGN
5.1 UML Diagram:-
20
St. John College of Engineering and Technology, Palghar 2014-2015
fig 5.1
Fig 5.2
21
St. John College of Engineering and Technology, Palghar 2014-2015
(Server Side)
Fig 5.3
22
St. John College of Engineering and Technology, Palghar 2014-2015
5.1.4 Flowchart
(Client Side)
23
St. John College of Engineering and Technology, Palghar 2014-2015
Fig 5.4
24
St. John College of Engineering and Technology, Palghar 2014-2015
fig 5.5
25
St. John College of Engineering and Technology, Palghar 2014-2015
Fig no-6.1
Step 1:-
Android smartphone will send the request after registering the user and the token will be updated in
the MySql database against the user credentials.
Step 2:-
Moodle Application server will sent response. Moodle will sent the Query to moodle server to
check credentials and the server will login if the user credentials are correct or not.
Step 3:-
26
St. John College of Engineering and Technology, Palghar 2014-2015
CHAPTER 7: IMPLEMENTATION
7.1 Algorithm or Methodology
Our project will be built on the waterfall mode. This model suggests work cascading from step to
step like a series of waterfalls. It consists of the following steps in the following manner
Below are the steps involved in the System Development Life Cycle. Each phase within the overall
cycle may be made up of several steps.
Moodle is the most used open source e-learning management systems platform with
around 68 million users being served. Moodle server side application can be accessed via web
browser or any computer or Internet enabled hand-held device. We do not have a client application
that can receive notifications from the server about the materials posted on the moodle according to
date. So we need to make a system which can not only receive notifications but also queue them as
the y come so that we can differentiate between the old and new notifications.
In this phase of requirement analysis, we check the requirements for the system and the
components and modules required to design such system. In this phase we decide the modules
required the technologies to be used and the implementation flow of the system as to how the
system will be designed effectively.
27
St. John College of Engineering and Technology, Palghar 2014-2015
The hardware specifications, software specifications ,constraints for number of users and the
information products that will satisfy the functional requirements of the system.
The architecture design will work as a blueprint for the system and it will help us to detect the
problems before these errors or problems are built into the final system.
In this step all the coding and debugging required for a system is done and we will implement the
design system .
We will check if the login is working, validations are working, whether the notifications are sent
properly as expected.
Step 6: Maintenance
Inevitably the system will need maintenance. Software will definitely undergo change once it is
delivered to the customer. There are many reasons for the change. Change could happen because of
some unexpected input values into the system. In addition, the changes in the system could directly
affect the software operations. The software should be developed to accommodate changes that
could happen during the post implementation period.
28
St. John College of Engineering and Technology, Palghar 2014-2015
PHP:-
PHP is a scripting language designed to fill the gap between SSI (Server Side Includes) and Perl, intended for the
Web environment. Its principal application is the implementation of Web pages having dynamic content. PHP has
gained quite a following in recent times, and it is one of the frontrunners in the Open Source software movement.
Its popularity derives from its C-like syntax, and its simplicity. The newest version of PHP is 5.5 and it is heavily
recommended to always use the newest version for better security, performance and of course features.
If you've been to a website that prompts you to login, you've probably encountered a server-side scripting
language. Due to its market saturation, this means you've probably come across PHP. PHP was designed by
Rasmus Lerdorf to display his resume online and to collect data from his visitors.
Basically, PHP allows a static webpage to become dynamic. "PHP" is an acronym that stands for
"PHP: HypertextPreprocessor". The word "Pre-processor" means that PHP makes changes before the HTML page
is created. This enables developers to create powerful applications that can publish a blog, remotely control
hardware, or run a powerful website such as Wikipedia or Wiki books. Of course, to accomplish something such
as this, you need a database application such as MySQL.
Before you embark on the wonderful journey of Server Side Processing, it is recommended that you have a basic
understanding of the Hypertext Mark up Language (HTML). But PHP can also be used to build GUI-driven
applications for example by using PHP-GTK.
Android:
Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. With
a user interface based on direct manipulation, Android is designed primarily for touch screen mobile devices such
as smartphonesand tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android
Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond to real-world actions,
like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard.
Despite being primarily designed for touch screen input, it also has been used in game consoles, digital cameras,
regular PCs (e.g. the HP Slate 21) and other electronics.
29
St. John College of Engineering and Technology, Palghar 2014-2015
Android's source code is released by Google under open source licenses, although most Android devices
ultimately ship with a combination of open source and proprietary software, including proprietary software
developed and licensed by Google. Initially developed by Android, Inc., which Google backed financially and
later bought in 2005,] Android was unveiled in 2007, along with the founding of the Open Handset Alliance a
consortium of hardware, software, and telecommunication companies devoted to advancing open standards for
mobile devices
Wamp Server
MySQL
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.
30
St. John College of Engineering and Technology, Palghar 2014-2015
Many programming languages with language-specific APIs include libraries for accessing
MySQL databases. These include MySQL Connector/Net for integration with Microsoft's Visual
Studio (languages such as C# and VB are most commonly used) and the JDBC driver for Java. In
addition, an ODBC interface called MyODBC allows additional programming languages that
support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion.
The HTSQL - URL-based query method also ships with a MySQL adapter, allowing direct
interaction between a MySQL database and any web client via structured URLs. The MySQL
server and official libraries are mostly implemented in ANSI and C\ASP.NET
31
St. John College of Engineering and Technology, Palghar 2014-2015
RESULT
DISCUSSIONS
32
St. John College of Engineering and Technology, Palghar 2014-2015
9.1 Conclusion
33
St. John College of Engineering and Technology, Palghar 2014-2015
Fig 8.1
34
St. John College of Engineering and Technology, Palghar 2014-2015
fig 8.3
35
St. John College of Engineering and Technology, Palghar 2014-2015
fig 8.5
36
St. John College of Engineering and Technology, Palghar 2014-2015
fig 8.6
fig 8.7
37
St. John College of Engineering and Technology, Palghar 2014-2015
fig 8.8
fig 8.8
38
St. John College of Engineering and Technology, Palghar 2014-2015
Fig 8.9
Fig 8.10
39
St. John College of Engineering and Technology, Palghar 2014-2015
Fig 8.11
Fig 8.12
40
St. John College of Engineering and Technology, Palghar 2014-2015
41
St. John College of Engineering and Technology, Palghar 2014-2015
Conclusion:-
We have designed the system that can receive notifications from the server and can
also distinguish date wise the notifications in turn the materials updated from the
Moodle server. Also, we have provided the Moodle homepage where we can directly
login and check the notifications.
42
St. John College of Engineering and Technology, Palghar 2014-2015
REFERENCES
[6] Moodle.org. Moodle website. http://www.moodle.org, 2013.Last Accessed on April 08, 2014.
43
St. John College of Engineering and Technology, Palghar 2014-2015
APPENDIX
2. Notification:
A notification is a message you can display to the user outside of your application's normal UI.
=======================================================================
=======================================================================
44