SlideShare ist ein Scribd-Unternehmen logo
1 von 154
[Type your address][Type your phone number][Type your e-mail address]
                                                                                                                                                       Designed by  MANIT BHOPAL
                                                                                                                                                                          SUBHAM
                                                                                                                                                                          SUBHAM
 MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY

                         BHOPAL -462051




     DEPARTMENT OF COMPUTER SCIENCE ENGINEERING


                    MINOR PROJECT REPORT

                                  ON

“RitZBoX - A File Synchronization and Sharing Application using Desktop ,


     SUBMITTED IN PARTIAL FULFILMENT FOR THE DEGREE OF
                       Android And Web Interface”



                     BACHELOR OF TECHNOLOGY


                            SUBMITTED BY

                  Mr. RITURAJ DASHORE (091115007)

                Mr. SUBHAM SAHU (091115059)

                Mr. SATISH THAPAK (091115075)



                     UNDER THE GUIDANCE OF

                           Dr. R. K. PATERIYA



                          SESSION 2011-12
MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY
                                   BHOPAL 462051




        DEPARTMENT OF COMPUTER SCIENCE ENGINEERING


                      CONDIDATE’S DECLARATION
We hereby certify that the work which is           being   presented   in the project report entitled
“RitZBoX- A File Synchronizing and Sharing Application using Desktop, Android
App. And Web Interface” submitted in partial fulfilment of the requirement for the award
of the degree of Bachelor of Technology in Information Technology, submitted to
Department of Computer Science Engineering, Maulana Azad National Institute of
Technology, Bhopal is an authentic record of our own work carried out during the period
of Jan 2012 to Apr 2012 under the supervision of Dr. R. K. Pateriya, Associate Professor,
Department of Computer Science Engineering,                Maulana Azad National Institute of
Technology, Bhopal.


The matter being presented in the project report has not been submitted by us for the award
of any other degree or diploma of this or any other Institute/University.




Rituraj Dashore                       Subham Sahu                                Satish Thapak
 (091115007)                          (091115059)                                 (091115075)




                                               I
MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY
                                  BHOPAL- 462051




            DEPARTMENT OF COMPUTER SCIENCE ENGINEERING



                                        CERTIFICATE

This is to certify that Mr. Rituraj Dashore (091115007) ,Mr. Subham Sahu (091115059),
Mr. Satish Thapak (091115075) of third year B.Tech , Information Technology            have
successfully completed their minor project entitled “RitZBox: A File Synchronization and
Sharing Application using Desktop , Android And Web Interface ”               in the partial
fulfilment of their B.Tech in Information Technology for session 2011-2012.




GUIDE                                              PROJECT CORDINATOR

Dr. R. K. PATERIYA                                 Prof. JYOTI BHARTI

(Associate Professor)                              (Associate Professor)

Dept. of Computer Science Engineering              Dept. of Computer Science Engineering




                                            II
ACKNOWLEDGEMENT


We would like to take this opportunity to extend our heartfelt gratitude to our guide and
mentor Dr. R. K. Pateriya, Associate Professor, Department of Computer Science and
Information Technology, Maulana Azad National Institute of Technology, Bhopal, for
his trust in our work, his able guidance, regular source of encouragement and assistance
throughout this project work. We would state that the dissertation work would not have been
in the present shape without his inspirational support and we consider our self-fortunate to
have done our project under him.
       We have been able to successfully complete this project because of excellent
guidance and infinite help given to us by Dr. Nilay Khare, Head of dept. of Computer
Science Engineering.

       We thank Dr. Appu Kuttan K K , Director, MANIT for allowing us to use college
resource for completion of our project.

       It is difficult to acknowledge adequately the help and encouragement we received
from faculty of department but we take this opportunity to thanks them profusely.




Rituraj Dashore                      Subham Sahu                           Satish Thapak
 (091115007)                         (091115059)                            (091115075)




                                             III
ABSTRACT

       The emerging technologies are replacing the old hardware and software. Today the
speed & security of data is most important. Since data storing and its sharing has become
very important in today’s world of globalisation, so a platform is required which can provide
us secure and platform independent file storing and sharing. Now-a-days Internet is
available with tablets and mobile devices as well as personal computers. So a service should
be accessible from desktop, website (browser) and Mobile platforms so that we can use
Internet to store data securely and share data. Android is emerging Mobile platform now-a-
days as well as in future as published by Google.
       We designed this project to fulfil all this demands and requirements and with a full-
fledged business model, which can make this project commercially viable, so that we can
bring this from a project to real-time Product.
       This System is a server-based hosting service designed as client-server model that
uses server storage to enable users to store and share files and folders with others across the
internet. The server is hosted on three Linux based servers. The client is having three modes
of communication. It has a desktop application, Web-site and an Android Mobile
application. The Desktop module is having a folder containing important files synchronised
with server. The regular update of folder is synchronised with server which ensures the
secure storage of files. The website is the gateway to see all the files and the download them
on the Desktops where the application is not installed. Android application is to be installed
on Mobiles and tablets for availing the services.
       As per security requirement of the files the project uses GPS service, and Encryption
of files, to avoid many types of Security flaws. The use of Cloud Storage will be done in the
next phase of the project

       As per business aspect the mobile advertising and Website-advertising is used to earn
revenues. For better revenue Web-mining and Data-mining of the account information helps
us to provide advertising of client’s interest to earn Good revenues.




                                                  IV
GRAPHICAL ABSTRACT




                                                                              Encryption



                                       Uploading Downloading




                                                               Android Application Development
           J2SE                           J2EE




RitZBoX Desktop application        Web Interface                     Android Application

       RitZBoX.exe                  RitZBoX.com                          RitZBoX.apk




                                   Business Aspects




                                                     V
Table of Contents
                     Topic                                   Page
                                                             no.
Chapter 1 introduction                                       1
 1.1 Overview                                                1
 1.2 Motivation                                              2
     1.2.1 Advantages                                        2
     1.2.2 Development Challenges                            2
 1.3 Problem Statements                                      3
 1.4 Project Report Organisation                             3
Chapter 2 Project functionalities & S/w & H/w Requirements   4
 2.1 Project Functionalities                                 4
      2.1.1 Functionality of Desktop module                  5
      2.1.2 Functionality of Web Module                      6
      2.1.3 Functionality of Android application             7


 2.2 S/w and H/w Requirements                                8
      2.2.1 Desktop interface                                8
      2.2.2 Website Interface                                8
      2.2.3 Android application                              8
      2.2.4 For Development Purpose s/w Procurement
Chapter 3 Theory and/or Technologies                         9
 3.1 File sharing And Its Importance                         9
 3.2 JAVA                                                    10
     3.2.1 JAVA2SE (used for desktop application)            11
          3.2.1.1 Threading                                  12
          3.2.1.2 Java I/0                                   13
          3.2.1.3 Networking with java                       14
     3.2.2 Java Enterprise Edition                           15
          3.2.2.1 JSP SERVLETS (middleware)                  16
          3.2.2.2 (JDBC) Java Database Connectivity          17
 3.3 Database Designing                                      17
 3.4 Encryption                                              18
3.5 Android application                                              19


Chapter 4 Software Life Cycle                                         22
  Spiral model
Chapter 5 Software Design                                             25
 5.1 MODULE 1 Installing and configuring tomcat server and Database   27
                   Design
 5.2 MODULE 2 Web Development                                         28
 5.3 MODULE 3 Development of Desktop Application and                  30
                  Synchronisation with server
 5.4 MODULE 4 Development of Android Application                      32
Chapter 7 Implementation And Coding                                   57
 7.1 Web Module Implementation Structure                              57
 7.2 Desktop Module Implementation Structure                          58
 7.3 Android Module Implementation Structure                          59
Chapter 8 Software Testing, Debugging and limitation                  60
 8.1 Software Testing                                                 60
    8.1.1 Unit testing                                                60
    8.1.2 Integration testing                                         60
    8.1.3 System testing                                              61
 8.2 Approaches for testing                                           61
 8.3 Debugging                                                        61
     8.3.1 Brute force method                                         61
     8.3.2-Backtracking                                               62
 8.4 DDMS


Chapter 9 Gantt Chart                                                 64
 9.1 Task table showing the tasks of the project                      65
 9.2 Only Gantt chart with weekly reporting                           66
 9.3 Gantt Chart with task table                                      67


Chapter 10 Business Aspect, Security and miscellaneous Features       68
 10.1 Business Aspect Review                                          68
10.1.1Financial study related to each module   69
     10.1.2 Freemium model                          69
 10.2 Security                                      70
 10.3 GPS location services                         70


Chapter 11 Conclusion And Future Scope              71

References                                          72

Source codes
Figure And Snapshot Index

S no   Fig.                                   Name                              Page No.
       No.
 1     2.1         Over all functionality of project                               4
 2     2.2     Functional flow of Desktop module                                   5
 3     2.3     Functional flow of Web module                                       6
 4     2.4     Functional flow of mobile(Android application) module               7
 5     3.1     The emulator on desktop for running applications and other         21
               application testing purposes
 6     4.1     Spiral Model(software development cycle)                           23
 7     5.1     Detailed Modular Design                                            26
 8     5.2     Basic design of UI                                                 29
 9     5.3     Basic design of UI                                                 29
10     5.4     File chooser of Windows                                            30
11     5.5     Synchronisation of files with in server and devices                31
12     5.6     Figure showing basic outline of Android App                        32
13     6.1.1   Table_file info                                                     33
14     6.1.2   User_info Table                                                     34
15     6.2.1   Home page which contains links to go to various pages of site       35
               and form to sign in user
16     6.2.2   Front page having basic information and user sign in form           36
17     6.2.3   For Sign Up facility of the new user                                37
18     6.2.4   For Sign Up facility of the new user                                37
19     6.2.5   After logging in user will be able to upload his files and          38
               download or delete uploaded files
20     6.2.6   List of files uploaded and facility to delete or download them      39
               from server
21     6.2.7   Public file-sharing blog from which users around the world          40
               can upload data
22     6.2.8   Public Blog A Place for discussion with all                         41
23     6.2.9   Advertisement page for revenue collection and business              42
               aspects
24     6.3.1   RitZboX’s Desktop application installer                             43
25   6.3.2    Authentication with serial numbers during installation             44
26   6.3.3    Viewing of License File during installation                        45
27   6.3.4    Choosing path for installation of RitZboX                          46
28   6.3.5    Showing install button for extraction of files to desktop          47
29   6.3.6    Progression of installation                                        48
30   6.3.7    Choosing RitZboX’s Home Folder when user will use it first         49
              time and user verification
31   6.3.8    Choosing RitZboX’s Home Folder when user will use it first         49
              time and user verification
32   6.3.10   RitzBox Folder on Desktop for synchronisation                      50
33   6.3.11   Files uploaded to server                                           51
34   6.4.1    Opening and Running the Android Emulator                           52
35   6.4.2    Opening and Running the Android app. on Emulator                   53
36   6.4.3    Opening and Running the Android application and user               54
              credentials entry
37   6.4.4    After user credentials verification users are shown options        55
38    7.1     Web Module Structure                                               57
39    7.2     Desktop Module Structure                                           58
40    7.3     Android Module Structure                                           59
41    8.1     Brute force method testing                                         61
42    8.2     The error is traced from the top to lower hierarchy of the files   62
43    9.1     Task table showing the tasks of the project                        65
44    9.2     Only Gantt chart with weekly reporting                             66
45    9.3     Gantt Chart with task table                                        67
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   1



Chapter 1
INTRODUCTION
1.1 Overview
    Today the time has come that the Internet has become an integral part of daily life.
 Digitalised life is now dependent on digital files. Starting from documents to image files,
 Spread sheets to Contact files, files are now costlier than many thing and become very
 important. File sharing and Synchronization is the practice of distributing or providing
 access to digitally stored information, such as computer programs, multimedia (audio, images
 and video), documents, or electronic books. It may be implemented through a variety of
 ways. Common methods of storage, transmission and dispersion include manual sharing
 utilizing removable media, centralized servers on computer networks, World Wide Web-
 based hyperlinked documents, and the use of distributed peer-to-peer networking.
    File storing and sharing is essential, and we are now having many ways to perform this but
 every way has its merits and demerits. For storing the use of dedicated server is used which
 has various demerits and also the cloud server is used which is complicated for deployment
 and also require more systems. The file sharing has become very popular now a day for its
 higher data secure and utilisation properties.
      The peer to peer file sharing systems provide infrastructure for communities to share
 storage space (e.g. Napster, Gnutella, Kazza ). Unlike traditional distributed systems, P2P
 networks aim to aggregate large numbers of computers that join and leave the network
 frequently and might not have permanent network (IP) addresses. In a pure distributed P2P
 system such as Gnutella, peers communicate directly with each other and share resources
 without dedicated servers. In essence, these P2P systems build, at the application level, a
 virtual overlay network with it own routing mechanisms.
    Different file sharing ways as Google Docs, Dropbox, mediafire, hotfile are there, which
 provides various file sharing services in different ways of services. Google Docs is Google's
 "software as a service" office suite. Documents, spreadsheets, presentations can be created
 with Google Docs, imported through the web interface, or sent via email. Documents can be
 saved to a user's local computer in a variety of formats.




      1
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   2


   Dropbox is a Web-based file hosting service operated by Dropbox, Inc. that uses networked
storage to enable users to store and share files and folders with others across the Internet using file
synchronization.

    Tablet and mobile users needs a common platform to share the files and should be safe
 about their files. They should be able to retrieve the files from mobile, through website and
 synchronized folders of their personal computers, Which is designed as this project and the
 product of the project is named as “RitZBoX”

1.2 Motivation
     The motivation for the study comes from the unique challenges offered in the varied
 application domain. We will now discuss the various advantages of this project and then the
 problems statements.


1.2.1 Advantages
     •   The website facilitates user download and upload the files to the server
     •   The folder on desktop is synchronised with server, which makes user less effort for
         storage and user friendly environment.
     •   The Android application makes the system more useful as the 3G (Third-generation)
         wireless cellular network provides both voice and data services to its subscribers. It
         combines wireless communication with internet
     •   Entrepreneurial aspects and security.


1.2.2 Development Challenges
     •   Scalability: The aim of scaling is to allow the system to expand in scale without
         disrupting the activities of the users. The enormous data should not lead to corrupt or
         any other issues.
     •   Heterogeneity: the system should be available and accessible from different plat-
         form without any difference in performance.
     •   Real-Time Data Delivery: the system should be able to deliver data in real-time
         when-where ever data is requested.
     •   Limited Bandwidth: Although Internet is available to all devices(within the
         targeted), but many of devices have very slow connection speed and for better
         costing Limited Bandwidth is to be taken care of.


     2
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   3



1.3 Problem Statement
          To design File storing and sharing system having following features
       1. To able to implement tomcat server
       2. To create Data base as back end to store data on the servers
       3. Create a web-platform as user interface for downloading, uploading and sharing of
            files.
       4. Create a desktop application which facilitate to synchronise a folder with server
            ensuring the files in that folder has its copy on server
       5. Designing an Android application, so that user can store of send any file from the
            mobile to server
       6. Ensuring the encryption of data on the server for batter security.
       7. Appling several business concepts like advertisement and Entrepreneurship skills.


1.4 PROJECT-REPORT Organisation
 The report comprises of seven chapters including this chapter that introduces the topic and
motivation of the project. The rest of dissertation is organized as follows:


  Chapter 2:           Project functionalities and hardware Requirement: here we describe the
                      three functionalities such as desktop interface, server, mobile etc.
  Chapter 3:           Theory and/of Technologies: throws light on the theories and technologies
                      related to this project.
  Chapter 4:          Software Life Cycle: here we describe the software life cycle and different
                      phases, the development life cycle of this project
  Chapter 5:          Software Design: It describes the design of this project, the modules it was
                      divided into and its DFD digrams.
  Chapter 6:         Implementation And Coding: It have the algorithms related to all the
                      modules of the project .
  Chapter 7:         Business aspect, Security and miscellaneous Features: It has the
                     information about other features of project like Encryption techniques used,
                     advertising issues and others.
  Chapter 8:         Software Testing, Debugging
  Chapter 9:         Gantt charts
  Chapter10:          Conclusion and future work: Some future work is proposed and the project
                     report concluded.
      3
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   4



Chapter 2
PROJECT FUNCTIONALITIES, S/W & H/W REQUIREMENTS


       2.1 Project Functionalities:
        The functionality of the project is divided into 3 phases according to the interfaces. The
overall functionality of the project is described in fig 2.1 as follows:
          The total project has a total system with availing user 3 interfaces, as                     Desktop
software, Website for log-in And An Android application.




                                      Over all functionality of project


                                                     Fig. 2.1



      4
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   5




2.1.1 Functionality of Desktop module:

 •   User will be given with RitZBoX_setup.exe

 •   During installation user will be asked to           choose home folder if not choosen set
     default folder as home folder

 •   If the user is installing for first time then username and password will be asked and
     verified from the server

 •   User is required to put the files there in folder in order to make automatic backup of
     files

 •   Folder should be Synchronised with server continuously
 •   Any new file added to the folder will be automatically backed up to the server

                                    User is given with
                                   RitZBoX_Setup.exe




                                   Choose a folder as                              Not choosen
                                     home folder



                                   choosen


                                                                                         Default is chosen
                                    Use chosen folder

Server for storing the
         files




                                        Used as home
                                           folder

                             Functional flow of Desktop module
                                              Fig 2.2

 5
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   6



2.1.2 Functionality of Web Module
     •     User should log in to RitZBoX.com if for the first time sign up
     •     After sign up the user will get options for operation
     •     If user wills to Download the files then Click on Download
     •     If user wills to upload then file-chooser will be shown after selecting , Click on upload
     •     After file operation user will view an advertisement
     •     Then he can log-out.
                                         Open browser and visit
                                             RitZBoX.com




                                                                                No
                                               Signed up?




                                   Yes
                                                                                            Sign-up and log-in
                                                   Log-in



                       connected
                                         See the files and options


Webserver storing all the
files and user information
database


                                            upload     download

                                     Download and upload(using
                                           file chooser)



                                               Log out(exit)

                                   Functional flow of Web module
                                                     Fig 2.3


       6
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   7



2.1.3 Functionality of Android application
   •    User should install RitZBoX.apk file for the first time.
   •    After signed-in the user will get options for operation
   •    If user wills to Download the files then Click on Download
   •    If user wills to upload then file-chooser will be shown after selecting , Click on upload
   •    After file operation user will view an advertisement


                                     Open mobile and install
                                           RitZBoX.apk




                                                                             If user data not exist
                                      Give username and
                                           password



                                  If user data      exists on server
                                                                                       Display “sign up on
                                                                                            website”
                                          User logged in




  Server storing all the files
                                                                        Download and upload(using
  and user information
                                                                              file chooser)
                                       upload and download



                                                                             Exit the application




                       Functional flow of mobile(Android application) module
                                                     Fig 2.4



    7
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   8



2.2 S/w and H/w Requirements:-
 2.2.1 Desktop interface:
        •    2gb RAM
        •    2GHz processor
        •    Connected to internet
        •    40Gb hard Disk


 2.2.2 Website Interface:
        •   Mozilla firefor 5 or later
        •   Internet Explorer 7 or later
        •   Google chrome 18.0.1025.xxx
        •   Safari 5.x.x or later


 2.2.3 Android application:
        •   Android 2.2.3 or later
        •   Internet connection


 2.2.4 For Development Purpose s/w Procurement
               •   Netbeans , Eclipse for coding and MySQL GUI for Data Base
               •   Android SDK for Eclipse and Apache Tomcat for web module
               •   Microsoft Project software for project documentation
               •   Advanced Installer for project installer creation




   8
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   9



Chapter 3
THEORY AND/OF TECHNOLOGIES

           The project is an extensive application of emerging technologies. This project uses
 technologies like information retrieval, Web Development, Desktop application development,
 Android Application Development, Encryption technologies. Different technological aspect
 of the project are discussed as follows


3.1 File sharing And Its Importance

File sharing is the practice of distributing or providing access to digitally stored information, such as
computer programs, multimedia (audio, images and video), documents, or electronic books. It may be
implemented through a variety of ways. Common methods of storage, transmission and dispersion
include manual sharing utilizing removable media, centralized servers on computer networks, World
Wide Web-based hyperlinked documents, and the use of distributed peer-to-peer networking.


           Small businesses lose billions of dollars each year due to data loss from hardware or
system failure, human error and software corruption. Natural disasters account for one percent
of all data loss.     Although the probability is small, the impact can be overwhelming.                  In fact,
companies that aren’t able to resume operations within ten days of a disaster are not likely to
survive.

Catastrophes aside, being fast and nimble is one of the defining characteristics of small and
medium sized businesses.           Finance executives need fast access to accurate information to
perform optimally.      In any business however, finding the right version of last month’s financial
statements can sometimes be difficult. If it takes two weeks or more to access and validate an
operating unit’s financials, that may have just lost the deal. It is not only important to provide
data protection, but quick and easy access to the right information.

In today’s increasingly wired business world, the best way to recover from data loss due to a
natural disaster is to store backup data in a physically separate location. There are companies
that specialize in preserving documents on tapes and discs that are stored within other
structures.    Although they too are susceptible to natural disasters, these companies have helped
to save numerous businesses where the damage has only been internal.

       9
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   10



3.2 JAVA




          Java is     a programming       language originally      developed       by James       Gosling at Sun
 Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a
 core component of Sun Microsystems' Java platform. The language derives much of
 its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java
 applications are typically compiled to byte code (class file) that can run on any Java Virtual
 Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent,
 class-based,       object-oriented    language that is specifically designed              to    have as few
 implementation dependencies as possible. It is intended to let application developers "write
 once, run anywhere" (WORA), meaning that code that runs on one platform does not need to
 be recompiled to run on another. Java is currently one of the most popular programming
 languages in use, particularly for client-server web applications, with a reported 10 million
 users.

          Java platform

          One characteristic of Java is portability, which means that computer programs written
in the Java language must run similarly on any hardware/operating-system platform. This is
achieved by compiling the Java language code to an intermediate representation called Java
bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are
analogous to machine code, but are intended to be interpreted by a virtual machine (VM)

written    specifically    for   the    host    hardware. End-users commonly            use     a Java   Runtime
Environment (JRE) installed on their own machine for standalone Java applications, or in a
Web browser for Java applets.

          Standardized libraries provide a generic way to access host-specific features such as
graphics, threading, and networking.

    10
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   11


        A major benefit of using byte code is porting. However, the overhead of interpretation
means that interpreted programs almost always run more slowly than programs compiled to
native executable would. Just-in-Time (JIT) compilers were introduced from an early stage that
compiles byte codes to machine code during runtime.

The platform is not specific to any one processor or operating system, but rather an execution
engine (called a virtual machine) and a compiler with a set of libraries that are implemented for
various hardware and operating systems so that Java programs can run identically on all of
them.

    Java Card: A technology that allows small Java-based applications (applets) to be run
     securely on smart cards and similar small- memory devices.
    Java ME (Micro Edition): Specifies several different sets of libraries (known as profiles)
     for devices with limited storage, display, and power capacities. Often used to develop
     applications for mobile devices, PDAs, TV set-top boxes, and printers.
    Java SE (Standard Edition): For general-purpose use on desktop PCs, servers and similar
     devices.
    Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier client–
     server enterprise applications.



3.2.1 JAVA2SE (used for desktop application development)
        Java          Platform,          Standard          Edition or Java           SE is         a       widely
used platform for programming in the Java language. It is the Java Platform used to deploy
portable applications for general use. In practical terms, Java SE consists of a virtual machine,
which must be used to run Java programs, together with a set of libraries (or "packages")
needed to allow the use of file systems, networks, graphical interfaces, and so on, from within
those programs.

    Some of the topics of JAVA standard edition are really useful in this application and they
are as follows:




     11
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   12



3.2.1.1 Threading
         Threading concept is very important in Java Programing language. A thread is a
sequential path of code execution within a program. And each thread has its own local
variables, program counter and lifetime.

   1. Life Cycle of A Thread
      Life Cycle of Thread contains different states - New state, Runnable, Running state,
      Dead state, Non-Runnable state.

   2. Thread Creation
      Thread can be implementing by one of two ways - Extending the java.lang.Thread
      Class, Implementing the java.lang.Runnable Interface.


   3. Thread Constructors
      Several constructors are available for creating new Thread instances
      like Thread(), Thread(String),Thread(Runnable) etc....


   4. Introduction to Multithreading
      Multithreading is a technique that allows a program or a process to execute many tasks
      concurrently (at the same time and parallel). It allows a process to run its tasks in
      parallel mode on a single processor system.

   5. Creation of Multiple Threads
      Like creation of a single thread, You can also create more than one thread
      (multithreads) in a program using class Thread or implementing interface Runnable.

   6. Thread Priorities and Scheduler
      In Java, thread scheduler can use the thread priorities in the form of integer value to
      each of its thread to determine the execution schedule of threads . Thread gets
      the ready-to-run state according to their priorities.

   7. Deadlock
      A situation where a thread is waiting for an object lock that holds by second thread, and
      this second thread is waiting for an object lock that holds by first thread, this situation is
      known as Deadlock.

   8. Lock and Synchronized Threads
      Java uses monitor also known as semaphore to prevent data from being corrupted by
      multiple threads by a keyword synchronized to synchronize them and



    12
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   13



      intercommunicate to each other. Lock term refers to the access granted to a particular
      thread that can access the shared resources.

  9. Inter-Thread Communication
      A process where, a thread is paused while running in its critical region and another
      thread is allowed to enter (or lock) in the same critical section to be executed. This
      technique is known as Inter-Thread communication
  10. Daemon Thread
      Daemon threads are service providers for other threads or objects running in the same
      process as the daemon thread. Daemon threads are used for background supporting
      tasks and are only needed while normal threads are executing
  11. Thread Synchronization in Java :

      When two or more threads need shared resource, they need a proper mechanism to
      ensure that the resource will be used by only one thread at a time. The mechanism we
      use to achieve this is known as thread synchronization.



3.2.1.2 Java I/0

The Java I/O means Java Input/Output. It is provided by the java.io package. This package
has an Input Stream and Output Stream. Java Input Stream is defined for reading the stream,
byte stream and array of byte stream.

  •     Working with the Files
        The File class deals with the machine dependent files in a machine-independent manner i.e. it is easier to
        write platform-independent code that examines and manipulates files using the File class. This class is
        available in the java. Lang package.
                Create a File
                Constructing a File Name path
                Read the File
                Write to a File
                Appending to a File
                Getting the Size of a File
                Count lines of a particular file
                Renaming a File or Directory
                Copying a File to Another File
                Copying Multiple Files
                Moving a File or Directory to Another Directory
                Deleting a File or Directory


   13
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   14


                 Change a File timestamp
                 Create a Temp File
                 Delete a Temp File
                 Getting an absolute path and Parents of a Filename


 3.2.1.3 Networking with java
    The Java platform is extremely preferable to write an application program require to
 communicate with the resources on network. Java, mainly focuses on the networking relating
 the description of the networking capabilities of the Java platform and second one is describes
 a brief summary of networking in a very simple manner that how to use URLs, sockets, and
 datagrams.
        In Java, there is a java.net package provides the network support. All the classes for
 making a network program are defined in the java.net package. Through TCP we can
 communicate over the network.

TCP/IP and UDP/IP communications

        There are two communication protocols that one can use for socket programming:
datagram communication and stream communication.

Datagram communication:
        The datagram communication protocol, known as UDP (user datagram protocol), is a
connectionless protocol, meaning that each time you send datagrams, you also need to send the
local socket descriptor and the receiving socket's address. As you can tell, additional data must
be sent each time a communication is made.
Stream communication:
        The stream communication protocol is known as TCP (transfer control protocol).
Unlike UDP, TCP is a connection-oriented protocol. In order to do communication over the
TCP protocol, a connection must first be established between the pair of sockets. While one of
The sockets listen for a connection request (server), the other asks for a connection (client).
Once two sockets have been connected, they can be used to transmit data in both (or either one
of the) directions.




     14
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   15



3.2.2 Java Enterprise Edition (for web-development)




Enterprise Edition or Java EE is Oracle's enterprise java computing platform. Java EE
includes several API specifications, such as JDBC , and defines how to coordinate them. Java
EE also features some specifications unique to Java EE for components. These include
Enterprise JavaBeans, Connectors, servlets, Java Server Pages and several web service
technologies. This allows developers to create enterprise applications that are portable and
scalable, and that integrate with legacy technologies. Like RMI, e-mail, JMS, web services,
XML, etc.

           A Java EE application server can handle transactions,                       security,    scalability,
concurrency and management of the components that are deployed to it, in order to enable
developers to concentrate more on the business logic of the components rather than on
infrastructure and integration tasks.

The Java EE APIs includes several technologies that extend the functionality of the base Java
SE APIs.


3.2.2.1 Designing of Web Portal

A web portal is a web site that brings together information from diverse sources in a unified
way. Usually, each information source gets its dedicated area on the page for displaying
information (a port let); often, the user can configure which ones to display.


HTML

       HyperText Markup Language (HTML) is the main markup language for web pages.
HTML elements are the basic building-blocks of webpages.HTML allows images and objects
to be embedded and can be used to create interactive forms. It provides a means to create

    15
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   16


structured documents by denoting structural semantics for text such as headings, paragraphs,
lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which
affect the behaviour of HTML webpages.


CSS

     Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation semantics (the look and formatting) of a document written in a markup language

         CSS is designed primarily to enable the separation of document content (written in
HTML or a similar markup language) from document presentation, including elements such as
the layout, colors, and fonts.[1] This separation can improve content accessibility, provide
more flexibility and control in the specification of presentation characteristics, enable multiple
pages to share formatting, and reduce complexity and repetition in the structural content.




JAVA SCRIPT

                JavaScript is a prototype-based scripting language that is dynamic, weakly typed
and has first-class functions. It is a multi-paradigm language, supporting object-oriented,
imperative, and functional programming styles.


JQUERY

             JQuery is a cross-browser JavaScript library designed to simplify the client-side
scripting of HTML. jQuery is free, open source software, dual-licensed under the MIT License
or the GNU General Public License. jQuery's syntax is designed to make it easier to navigate a
document, select DOM elements, create animations, handle events, and develop Ajax
applications.


3.2.2.2 JSP SERVLETS (middleware)

            Java Server Pages (JSP) is a technology that helps software developers serve
dynamically generated web pages based on HTML, XML, or other document types. Released



    16
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   17


in 1999 by Sun Microsystems, JSP is similar to ASP and PHP, but it uses the Java
programming language.

             JSPs are compiled into servlets by a JSP compiler. The compiler either generates a
servlet in Java code that is then compiled by the Java compiler, or it may compile the servlet to
byte code which is directly executable. JSPs can also be interpreted on-the-fly, reducing the
time taken to reload change.


3.2.2.3 (JDBC) Java Database Connectivity




                        JDBC is a Java-based data access technology (Java Standard Edition
platform) from Sun Microsystems, Inc.. It is not an acronym as it is unofficially referred to as
Java Database Connectivity. This technology is an API for the Java programming language that
defines how a client may access a database. It provides methods for querying and updating data
in a database. JDBC is oriented towards relational databases. A JDBC-to-ODBC bridge enables
connections to any ODBC-accessible data source in the JVM host environment.


3.3 DATABASE DESIGNING

          Database design is the process of producing a detailed data model of a database. This
logical data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a Data Definition Language, which can then
be used to create a database. A fully attributed data model contains detailed attributes for each
entity.

          The term database design can be used to describe many different parts of the design of
an overall database system. Principally, and most correctly, it can be thought of as the logical
design of the base data structures used to store the data. In the relational model these are the
tables and views. In an object database the entities and relationships map directly to object

     17
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   18


classes and named relationships. However, the term database design could also be used to
apply to the overall process of designing, not just the base data structures, but also the forms
and queries used as part of the overall database application within the database management
system (DBMS).The process of doing database design generally consists of a number of steps
which will be carried out by the database designer.


3.4 ENCRYPTION




      In cryptography, encryption is the process of transforming information (referred to as
plaintext) using an algorithm (called a cipher) to make it unreadable to anyone except those
possessing special knowledge, usually referred to as a key. The result of the process is
encrypted information (in cryptography, referred to as cipher text). The reverse process, i.e., to
make the encrypted information readable again, is referred to as decryption.

Encryption can be used to protect data "at rest", such as files on computers and storage devices
(e.g. USB flash drives) mobile telephones, wireless microphones, wireless intercom systems,
Bluetooth devices and bank automatic teller machines.




    18
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   19



3.5 ANDROID APPLICATION




Android, the world's most popular mobile platform, Android powers millions of phones,
tablets, and other devices and brings the power of Google and the web into our hands.

With an amazingly fast browser, cloud sync, multi-tasking, easy connect & share, and the latest
Google apps (and thousands of other apps available on Google Play) our Android powered
device is beyond smart.

The Android SDK includes a virtual mobile device emulator that runs on our computer. The
emulator lets you prototype, develop and test Android applications without using a physical
device.

The Android emulator mimics all of the hardware and software features of a typical mobile
device, except that it cannot place actual phone calls. It provides a variety of navigation and
control keys, which you can "press" using your mouse or keyboard to generate events for your
application. It also provides a screen in which our application is displayed, together with any
other active Android applications.

To let us model and test your application more easily, the emulator utilizes Android Virtual
Device (AVD) configurations. AVDs let you define certain hardware aspects of your emulated
phone and allow you to create many configurations to test many Android platforms and
hardware permutations. Once your application is running on the emulator, it can use the
services of the Android platform to invoke other applications, access the network, play audio
and video, store and retrieve data, notify the user, and render graphical transitions and themes.

The emulator also includes a variety of debug capabilities, such as a console from which you
can log kernel output, simulate application interrupts (such as arriving SMS messages or phone
calls), and simulate latency effects and dropouts on the data network.

The Android emulator is an application that provides a virtual mobile device on which you can
run your Android applications. It runs a full Android system stack, down to the kernel level,
that includes a set of preinstalled applications (such as the dialer) that you can access from your

    19
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   20



applications. You can choose what version of the Android system you want to run in the
emulator by configuring AVDs, and you can also customize the mobile device skin and key
mappings. When launching the emulator and at runtime, you can use a variety of commands
and options to control its behaviour.

The Android system images available through the Android SDK Manager contain code for the
Android Linux kernel, the native libraries, the Dalvik VM, and the various Android packages
(such as the Android framework and preinstalled applications). The emulator provides dynamic
binary translation of device machine code to the OS and processor architecture of your
development machine.

The Android emulator supports many hardware features likely to be found on mobile devices,
including:



•      An ARMv5 CPU and the corresponding memory- management unit (MMU)
•      A 16-bit LCD display
•      One or more keyboards (a Qwerty-based keyboard and associated Dpad/Phone buttons)
•      A sound chip with output and input capabilities
•      Flash memory partitions (emulated through disk image files on the development
       machine)
•      A GSM modem, including a simulated SIM Card
•      A camera, using a webcam connected to your development computer.
•      Sensors like an accelerometer, using data from a USB-connected Android device.




    20
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface   21

        The emulator on desktop for running applications and other
                      application testing purposes




                                          Fig 3.1




21
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                 22


Chapter 4
SOFTWARE LIFE CYCLE

    A software life cycle model (also called process model) is a descriptive and
diagrammatic representation of the software life cycle. A life cycle model represents all the
activities required to make a software product transit through its life cycle phases. It also
captures the order in which these activities are to be undertaken. In other words, a life cycle
model maps the different activities performed on a software product from its inception to
retirement. Different life cycle models may map the basic development activities to phases
in different ways. Thus, no matter which life cycle model is followed, the basic activities
are included in all life cycle models though the activities may be carried out in different
orders in different life cycle models.

    As we studied different short-coming and industrial approach to projects we found the
SPIRAL MODEL is found to be most appropriate for our project. So we have approached
spiral model for life cycle of Software development.

      The Spiral model of software development is shown in figure. The diagrammatic
representation of this model appears like a spiral with many loops. The exact number of
loops in the spiral is not fixed. Each loop of the spiral represents a phase of the software
process.




   22
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           23




                                           FIG   4.1


23
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  24


we see three loops as 3 stages of developments with different and increased models. So in each
quadrant we define 3 levels of development.


SECOND QUADRANT(DETERMINE                   REQUIREMENT         ANALYSIS )


   •   Determine the Requirements Analysis
   •   Loop1: Development of Web portal and mysql database: prototype1
   •   Loop2: Development of Desktop Synchronisation : prototype2
   •   Loop3: Development of Android application and access through it: prototype3


FIRST QUADRANT(RISK ANALYSIS AND PROTOTYPE                           DESIGN   )
   •   Loop1: Risk analysis of : prototype1
   •   Loop2: Risk analysis of : prototype2
   •   Loop3: Risk analysis of : prototype3



FOURTH QUADRANT(DETAILED                   DESIGN AND IMPLEMENTATION              )
   •   Loop1: Software requirement and requirement validation
   •   Loop2: Software design and design validation
   •   Loop3: Detailed design



THIRD QUADRANT( PLANNING)

   •   Loop1: Software development
   •   Loop2: Development plan
   •   Loop3: Software integration and Test plan



The Spiral model development is implemented and the phases are discussed as chapters.




    24
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                    25


Chapter 5
SOFTWARE DESIGN
        Software design deals with transforming the customer requirements, as described in
the SRS document, into a form (a set of documents) that is suitable for implementation in a
programming language. A good software design is seldom arrived by using a single step
procedure but rather through several iterations through a series of steps.

        As a part of Software design we first divided the full project to 5 Modules. They are
as follows:

  Module 1: Installing and configuring tomcat server and Database Design

  Module 2: Development of Client-server (Web portal) way of
                communication

  Module 3: Development of Desktop Application and Synchronisation
               with server

  Module 4: Development of Android Application and Access to Server

  Module 5: Apply of Business models in all modules and Security
                Enhancements by Encryption

        During the design the following points are being taken cared of as:

        •     The total design should be properly modulated
        •     Cohesion of the project is high
        •     Coupling of the project is low




    25
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                    26


   Detailed Modular Design (Cohesion and Coupling)

                                                MODULE 1

                           (SERVER INSTALLATION AND CONFIGURATION
                                     and DATABASE DESIGN)




                                               MODULE 3                                       MODULE 4
     MODULE 2
                                        (Desktop application                            (Android Application
(Website devlopment)                  development and server                             development and
                                          Synchronisation)                                Database Access)




                                                MODULE 5

                       (Apply of Business models in all modules and
                       Security Enhancements by Encryption)




                                                  OUT PUT




                                                    Fig 5.1




       26
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                               27


5.1 Design of Module 1
    Installing and configuring tomcat server and database designing.


Requirements:

    Database should be designed to facilitate following features such as:

           •     User signup
           •     User logged in
           •     File description
           •     File path on server

DESIGNING

   Install the eucalyptus on server.
   The database with following table should be created.

                               Table1

        Attributes                                            Data types
        F_name                                                   Varchar(150)
        F_path                                                   Varchar(300)
        F_size                                                     Big int(20)
        F_type                                                    Varchar(50)
        Upload_date                                                 Date time
        Upload_location                                          Varchar(200)
        Fk_userid (F-key)                                        Varchar(100)




   27
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                28


                                               Table2


                      Attributes                               Data type
    User_name(primary-key)                           Varchar(100)
    Password                                         Varchar(50)
    Sex                                              Varchar(50)
    E-mail_id                                        Varchar(7)
    Address                                          Varchar(70)
    Occupation                                       Varchar(130)
    Interest                                         Varchar(100)
    Stored_size                                      Varchar (200)
    File_count                                       Integer
    Acc_start_date                                   Integer
    Acc_info                                         Varchar (100)
    Wants add                                        Tinyint (1)
    Uploaded_file_info                               Blob




5.2 Design of Module 2:- Web Developments
Requirements:

    The website should be having these functionalities.

               •   User signup and login verifications & functionalities.
               •   Cookies should be enabled.
               •   Server response should be there for file available on server.
               •   Uploading and entering the file i/o operation in database.
               •   User should able to download and upload server.




  28
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                29




Design:

The basic design as per requirement is as the




                                                  User id
            User


                                                   password


                                  Signup
                                   Fig 5.2




                             Welcome
                                                                Upload




       File1 215k                                               download


       File2 256k




                                                      Fig 5.3

      Web page is to be designed.
      The database should be fetched and checked from database entry.

    29
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                30


      The DAO should be made for linking b/w Mysql and client.


5.3 Design of Module 3:- Development of Desktop
Application and Synchronisation with server

   Core requirements:

      1. An RitZBoX_setup.exe file fir window user installation

      2. He should be able to Choose home folder of RitZboX

      3. The folder should be synchronised with the server.

So the basic need can be designed as




                                                Fig 5.4

                 The file chooser should be alike with windows file chooser




   30
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           31




                                           Fig 5.5

                 Synchronisation of files with in server and devices




31
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  32


5.4 Module 4:- Development of Android Application
  Requirements:

         1. An RitZBoX_setup.apk file fir android user installation

       2. User should be able to choose files from list of files in SD Card and upload files
from SD Card to the server

       3. The user should be able to download files from the server




                                                  Fig 5.6




    32
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                             33


Chapter 6

SNAPSHOTS OF THE PROJECT

6.1 Database Design

                                        Table file info




                                                                                                              Fig 6.1.1




  33
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           34


                               User_info_table




                                                                                                            Fig 6.1.2




34
6.2 Module 2 Web Module(Hosted on local server)
                                                                                                RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                                                      35
Home page which contains links to go to various pages of site and form to sign in user




                                                                                                                                                                                                           Fig 6.2.1




                                                                                           35
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                           36


                                                            z
Front page having basic information and user sign in form




                                                                                                                                                                                Fig 6.2.2




                                                                36
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           37


                             For Sign Up facility of the new user




                                                Fig 6.2.3




                                               Fig 6.2.4




37
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                                                            38
After logging in user will be able to upload his files and download or delete uploaded files




                                                                                                                                                                                                          Fig 6.2.5




                                                                                               38
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                                          39


List of files uploaded and facility to delete or download them from server




                                                                                                                                                                                   Fig 6.2.6




                                                                             39
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                                        40

Public file-sharing blog from which users around the world can upload data




                                                                                                                                                                                        Fig 6.2.7




                                                                             40
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                         41
Public Blog A Place for discussion with all




                                                                                                                                                              Fig 6.2.8




                                              41
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                            42
Advertisement page for revenue collection and business aspects




                                                                                                                                                                             Fig 6.2.9




                                                                 42
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                               43




6.3 Desktop module Snapshots

The screenshots of the RitZboX’s Desktop application installer




                                                                                                                    Fig 6.3.1




   43
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                                    44
authentication with serial numbers during installation




                                                                                                                                                                     Fig 6.3.2




                                                         44
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                              45




                                                                                                           Fig 6.3.3




45
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                       46
Choosing path for installation of RitZboX




                                                                                                                                                            Fig 6.3.4




                                            46
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  47




                                                                                                      Fig 6.3.5




47
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                            48




                                                                                                       Fig 6.3.6




48
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                               49


Choosing RitZboX’s Home Folder when user will use it first time and user verification




                                     Fig 6.3.7




                                     Fig 6.3.8




 49
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                             50




                                                                                                           Fig 6.3.9




50
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  51




                                                                                                     Fig 6.3.10




51
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                52




6.4 MODULE 4 –Android module

Opening of android em Opening and Running the Android Emulator




                                            Fig 6.4.1




    52
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           53



             Opening and Running the Android app. on Emulator




                                                 Fig 6.4.2




53
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                            54




     Opening and Running the Android application and user credentials entry




                                           Fig 6.4.3




54
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           55




            After user credentials verification users are shown options




                                               Fig 6.4.4




55
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           56



       User is shown files for uploading to server and after clicking it is done




                                             Fig 6.4.5




56
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                  57


         Chapter 7
         SOURCE CODE STRUCTURE

                            7.1 Web Module Implementation Structure

                        Fig 7.1 shows the structure of project of web module.All classes and programs have
                        properly arranged by use of packages.Programs having similar functionality have
                        been kept in same package for ease of understaing and future maintanance and reuse
Web Module Structure




                                                                                                                                  Fig 7.1




                       57
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                      58


                       7.2 Desktop Module Implementation Structure

                            Fig 7.2 shows the structure of project of desktop module.All classes and programs
                            have properly arranged by use of packages.
Desktop Module Structure




                                                                                                                                       Fig 7.2




                           58
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                            59


                           7.3 Android Module Implementation Structure

                           Fig 7.3 shows the structure of project of android module.All classes and programs have
                           properly arranged by use of packages.
Android Module Structure




                                                                                                                                        Fig 7.3




                               59
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  60


Chapter 8
SOFTWARE TESTING, DEBUGGING AND LIMITATION
8.1 Software Testing
        Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test.[1] Software testing can also
provide an objective, independent view of the software to allow the business to appreciate
and understand the risks of software implementation. Test techniques include, but are not
limited to, the process of executing a program or application with the intent of
finding software bugs (errors or other defects).

   This is a process of validating and verifying that a software program/application/product:

    1. Meets the requirements that guided its design and development;
    2. Works as expected; and
    3. Can be implemented with the same characteristics.
       8.1.1 Unit testing
Unit testing, also known as component testing, refers to tests that verify the functionality of a
specific section of code, usually at the function level. In an object-oriented environment, this
is usually at the class level, and the minimal unit tests include the constructors and
destructors.
   We verified every Class and methods for functionality under unit testing.

       8.1.2 Integration testing
Integration testing is any type of software testing that seeks to verify the interfaces between
components against a software design. Software components may be integrated in an iterative
way or all together ("big bang"). Normally the former is considered a better practice since it
allows interface issues to be localised more quickly and fixed.
        Under this testing, we integrated the system and the functionality is compared with
the software design, And the system performance is checked.
       Phase 1: Module 1 is tested by integrating all the classes
       Phase 2: Module 2 is tested by integrating all the classes
       Phase 3: Module 2 is tested by integrating all the classes


       8.1.3 System testing
System testing tests a completely integrated system to verify that it meets its requirements.
         Under this testing strategy, We tested the whole system

         All the modules integrated in previous phases were tested.




    60
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                 61


8.2 Approaches for Testing
       8.2.1 White-box testing
         White-box testing is when the tester has access to the internal data structures and
algorithms including the code that implement these.


       8.2.1 Black-box testing
         Black-box testing treats the software as a "black box"—without any knowledge of
internal       implementation.      Black-box         testing     methods    include: equivalence
partitioning, boundary      value      analysis, all-pairs    testing, fuzz testing, model-based
testing, exploratory testing and specification-based testing.




8.3 Debugging
        Debugging is a methodical process of finding and reducing the number of bugs, or
defects, in a computer program or a piece of electronic hardware, thus making it behave as
expected. Debugging tends to be harder when various subsystems are tightly coupled, as
changes in one may cause bugs to emerge in another. Many books have been written about
debugging (see          below: Further   reading),     as    it   involves   numerous  aspects,
including interactive debugging, control   flow, integration    testing, log   files, monitoring
(application, system), memory dumps, profiling, Statistical Process Control, and special
design tactics to improve detection while simplifying changes.


       Approaches for debugging applied


       8.3.1 Brute force method
          Bruteforce method is common method but it is least efficient method.In this
approach, print statements are inserted throughout the programme.




                                                 Fig 8.1




    61
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  62




       8.3.2 Backtracking
           In this approach, beginning from the statement at which an error symptom has
been observed , the source code is traced backwards until the error is discovered. it is a fairly
common approach.




         The error is traced from the top to lower hierarchy of the files

                                                  Fig 8.2

8.4 DDMS
         Android ships with a debugging tool called the Dalvik Debug Monitor Server
(DDMS), which provides port-forwarding services, screen capture on the device, thread and
heap information on the device, logcat, process, and radio state information, incoming call
and SMS spoofing, location data spoofing, and more.

Using LogCat
LogCat is integrated into DDMS, and outputs the messages that we print out using
the Log class along with other system messages such as stack traces when exceptions are
thrown. View the Reading and Writing Log Messages. topic for more information on how to
log messages to the LogCat.

When we set up your logging, you can use the LogCat feature of DDMS to filter certain
messages with the following buttons:

   •    Verbose

   •    Debug

    62
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                     63


       •     Info
        • Warn
        • Error
    we can setup our own custom filter to specify more details such as filtering messages with the
    log tags or with the process id that generated the log message. The add filter, edit filter, and
    delete filter buttons let you manage your custom filters.

    Emulating phone operations and location
    The Emulator control tab lets us simulate a phone's voice and data network status. This is
    useful when we want to test our application's robustness in differing network environments.

    Changing network state, speed, and latency

    The Telephony Status section of the Emulator controls tab lets you change different aspects
    of the phone's networks status, speed and latency. The following options are available to us
    and are effective immediately after us set them:

                Voice - unregistered, home, roaming, searching, denied
                Data - unregistered, home, roaming, searching, denied
                Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA
                Latency - GPRS, EDGE, UMTS


    Spoofing calls or SMS text messages

    The Telephony Actions section of the Emulator controls tab lets us spoof calls and messages.
    This is useful when you want to to test your application's robustness in responding to
    incoming calls and messages that are sent to the phone. The following actions are available to
    you:

•   Voice - Enter a number in the Incoming number field and click Call to send a simulated call
    to the emulator or phone. Click the Hang up button to terminate the call.
•   SMS - Enter a number in the Incoming number field and a message in the Message: field
    and click the Send button to send the message.


    Setting the location of the phone

    If your application depends on the location of the phone, you can have DDMS send your
    device or AVD a mock location. This is useful if you want to test different aspects of your
    application's location specific features without physically moving. The following geo-
    location data types are available to us:

•   Manual - set the location by manually specifying decimal or sexagesimal longitude and
    latitude values.
•   GPX - GPS eXchange file
•   KML - Keyhole Markup Language file


        63
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                 64


Chapter 9
Gantt Chart




Gantt Charts (Gant Charts) are useful tools for analyzing and planning more complex
projects. They:
  • Help to plan out the tasks that need to be completed
  • Give a basis for scheduling when these tasks will be carried out
  • Allow us to plan the allocation of resources needed to complete the project, and
  • Help us to work out the critical path for a project where you must complete it by a
      particular date.
When a project is under way, Gantt Charts help us to monitor whether the project is on
schedule. If it is not, it allows you to pinpoint the remedial action necessary to put it back on
schedule.
Sequential and parallel activities:
An essential concept behind project planning (and Critical Path Analysis) is that some
activities are dependent on other activities being completed first. As a shallow example, it is
not a good idea to start building a bridge before we have designed it!
These dependent activities need to be completed in a sequence, with each stage being more-
or-less completed before the next activity can begin. We can call dependent activities
'sequential' or 'linear'.
Other activities are not dependent on completion of any other tasks. These may be done at
any time before or after a particular stage is reached. These are nondependent or 'parallel'
tasks.




    64
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                             65




9.1Task table showing the tasks of the project




                                                 Fig 9.1




  65
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                                      66




                                         9.2 Only Gantt chart with weekly reporting
Only Gantt chart with weekly reporting




                                                                                                                                                       Fig 9.2




                                           66
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                                           67


                              9.3 Gantt Chart with task table
Gantt Chart with task table




                                                                                                                                           Fig 9.3




                                67
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                 68


Chapter 10
BUSINESS ASPECT, SECURITY AND MISCELLANEOUS FEATURES




Technological project comes to market only after having a sound business plan, as the
developer needs bread and butter from the system so a project should be well modelled
according to financial planning of the developer. Different Features makes the project
ornamental and add-ons are better way of maintaining the project as well as it grabs user’s
interest as the newer version released on market.


10.1 Business Aspects Review




The project is designed to give us more benefit from every source. Several business strategies
have been used to develop this project as commercial product.



    68
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                 69


We have used several product taglines like :

       Now Your Data Will Follow You
       You are now free to move around the World ......
       Now Enjoy World's Public Data ...


Competitor on present market:

Identification of competitors in the market is an important step for Entrepreneurship in order
to identify and develop a unique feature to our product to compete with the existing firms.

 We have identified several competitor companies which provide similar facility to user for
file storage and backup.

      Google-docs by google Inc, Dropbox , BoxNet

Sources of income of our project:

      10.1.1 Financial study related to each module

       Web-module :

       •        The Google AdSense is used for displaying Advertisings
       •        The Traffic to Website will give good revenue
       •        While uploading we will show the video on our Business partner/client

      Android Application:

            •       Android business has 3 ways
            •       Downloading cost of the application can give us revenue
            •       The Advertisings during downloading application will give us revenue
            •       An image(Advertisings) during uploading and downloading will give us a
                    good revenue

10.1.2 Freemium model:

                •     The basic user will be given 5Gb free space.
                •     The users will be given as referral ids



    69
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                            70


         •    For every successful reference and user signup user will get another
              500mbs
         •    For more then 50Gb requirement user qill get an VIP membership



10.2 Security:




 •   As the files stored on server and it is on Ubuntu,So the files are encrypted

 •   The desktop module is secure as the connection is through URI

 •   The SQLinjection may take place as SQL is used in web module but every step is
     taken to not allow SQL injection.

 •   Android is secure as digital signature and shared preferences are used

 •   Asking the password every-time of uploading file and association of username-file
     makes it more secure


10.3 GPS location services

 •           The GPS location services are used on Android Devices

 •           GPS provides more Security to files

 •           GPS can be used for anomaly on files by Hackers




70
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                               71


Chapter 11

CONCLUSION AND FUTURE SCOPE

 Our   project has reached the milestone as we designed to meet the requirements, The

 Desktop Application comes as Setup file, Website provides user friendly interface for
 users and Android application is in Good working conditions.

     The primary goal of this project is to give an idea about file synchronization among
 android mobile and desktop with web server. This project has given us an depth
 information about java technology ,        j2ee and ANDROID technology and its applications
 in day today life. This project offers several benefits due to the use of simple and easy to
 understand interface. This project is developed using java and android platform ,which is
 easy to read, learn, scales well, performs well for being interpreted, and is incredibly well-
 documented.

 As the final result meet to our expectation of File sharing and File synchronisation. We are
 expecting to bring this project to market with real-time cloud file sharing platform. The
 file sharing application and the platform is ready.


Future Scope
          •    The system is to be modified for better traffic control
          •    The System Cloud should be of larger size
          •    The Encryption of connection should be done
          •    The desktop application should be modified for slower bandwidth
          •    The Android application should be made useful for Slower connection




  71
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                                  72


References:
1.Write to java certification by khalid maughal

2 http://owncloud.org/support/setup-and- installation/windows-server/

3. http://android-developers.blogspot.in/

4. http://en.wikipedia.org/wiki/Cloud_database

5. youtube.com/marakaNAtv

6.http://www.ibm.com/developerworks/aix/library/au-cloud_apache/

7.http://www.computerworld.com/s/article/66405/Processes_and_Threads

8.Thinking in Java by Bruce Eckel




    72
RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface
                                                                                                           73




73
MODULE 2 (WEB MODULE) CODES….
Web Module                                          Java Class                ConnectionPool.java
 1   /*
 2    * To change this template, choose Tools | Templates
 3    * and open the template in the editor.
 4    */
 5   package com.ritzbox;
 6
 7   import   java.io.FileInputStream;
 8   import   java.io.IOException;
 9   import   java.io.InputStream;
10   import   java.sql.*;
11   import   java.util.*;
12   import   java.util.logging.Level;
13   import   java.util.logging.Logger;
14
15   public class ConnectionPool {
16
17      static Vector connections = null;
18      static ConnectionPool instance = new ConnectionPool();
19
20      public synchronized void removeAllConnections() {

21            try {
22                if (connections == null) {
23                    return;
24                }
25                int sz = connections.size();
26                for (int i = 0; i < sz; i++) {
27                    Connection c = (Connection) connections.elementAt(i);
                                                                                                1
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system
RitZBox-A file Sharing system

Weitere ähnliche Inhalte

Was ist angesagt?

Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemBilal Mirza
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...Edureka!
 
Security in IoT
Security in IoTSecurity in IoT
Security in IoTSKS
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android StudioSuyash Srijan
 
Ignou MCA mini project report
Ignou MCA mini project reportIgnou MCA mini project report
Ignou MCA mini project reportHitesh Jangid
 
Mphasis ppt on internet of things for internship
Mphasis ppt on internet of things for internshipMphasis ppt on internet of things for internship
Mphasis ppt on internet of things for internshipNeha Yadav
 
Project report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSProject report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSDivyesh Shah
 
Computer science seminar topics
Computer science seminar topicsComputer science seminar topics
Computer science seminar topics123seminarsonly
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singhSudeep Singh
 
Online grocery store
Online grocery storeOnline grocery store
Online grocery storeKavita Sharma
 
20 Latest Computer Science Seminar Topics on Emerging Technologies
20 Latest Computer Science Seminar Topics on Emerging Technologies20 Latest Computer Science Seminar Topics on Emerging Technologies
20 Latest Computer Science Seminar Topics on Emerging TechnologiesSeminar Links
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gMohan Kumar G
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report. Abu Kaisar
 

Was ist angesagt? (20)

IoT with Arduino
IoT with ArduinoIoT with Arduino
IoT with Arduino
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
IOT System.pptx
IOT System.pptxIOT System.pptx
IOT System.pptx
 
Rain technology
Rain technologyRain technology
Rain technology
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
 
Security in IoT
Security in IoTSecurity in IoT
Security in IoT
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
Ignou MCA mini project report
Ignou MCA mini project reportIgnou MCA mini project report
Ignou MCA mini project report
 
IoT with Python
IoT with PythonIoT with Python
IoT with Python
 
Mphasis ppt on internet of things for internship
Mphasis ppt on internet of things for internshipMphasis ppt on internet of things for internship
Mphasis ppt on internet of things for internship
 
Sequnce diagram for ONLINE EXAMINATION SYSTEM
Sequnce diagram for ONLINE EXAMINATION SYSTEMSequnce diagram for ONLINE EXAMINATION SYSTEM
Sequnce diagram for ONLINE EXAMINATION SYSTEM
 
Project report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSProject report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESS
 
Computer science seminar topics
Computer science seminar topicsComputer science seminar topics
Computer science seminar topics
 
Introduction to IoT
Introduction to IoTIntroduction to IoT
Introduction to IoT
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 
Online grocery store
Online grocery storeOnline grocery store
Online grocery store
 
20 Latest Computer Science Seminar Topics on Emerging Technologies
20 Latest Computer Science Seminar Topics on Emerging Technologies20 Latest Computer Science Seminar Topics on Emerging Technologies
20 Latest Computer Science Seminar Topics on Emerging Technologies
 
IoT security (Internet of Things)
IoT security (Internet of Things)IoT security (Internet of Things)
IoT security (Internet of Things)
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report.
 

Andere mochten auch

Insights on On-demand Media Streaming Progress
Insights on On-demand Media Streaming ProgressInsights on On-demand Media Streaming Progress
Insights on On-demand Media Streaming ProgressSovan Kundu
 
Book Industry Guild of NY - Publishing Technology Update: New Digital Directions
Book Industry Guild of NY - Publishing Technology Update: New Digital DirectionsBook Industry Guild of NY - Publishing Technology Update: New Digital Directions
Book Industry Guild of NY - Publishing Technology Update: New Digital DirectionsKathy Sandler
 
Web application based file transfer in customized cloud
Web application based file transfer in customized cloudWeb application based file transfer in customized cloud
Web application based file transfer in customized cloudeSAT Journals
 
Asynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerAsynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerJovan Vlajic
 
Pc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPadmakar Mangrule
 
automatic database schema generation
automatic database schema generationautomatic database schema generation
automatic database schema generationsoma Dileep kumar
 
آليات التكشيف على الويب وأدواته
آليات التكشيف على الويب وأدواتهآليات التكشيف على الويب وأدواته
آليات التكشيف على الويب وأدواتهemad Saleh
 
Cloud Computing Security (Final Year Project) by Pavlos Stefanis
Cloud Computing Security (Final Year Project) by Pavlos StefanisCloud Computing Security (Final Year Project) by Pavlos Stefanis
Cloud Computing Security (Final Year Project) by Pavlos StefanisPavlos Stefanis
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System ImplementationWayne Jones Jnr
 
Data transfer scheme
Data transfer schemeData transfer scheme
Data transfer schemerockymani
 
intelligent street light system using gsm Report
intelligent street light system using gsm Reportintelligent street light system using gsm Report
intelligent street light system using gsm Reportdarshangowda679
 
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robot
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robotB.Tech.Final Year ECE Project Report on Ultrasonic distance measure robot
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robotSushant Shankar
 
Apache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data ApplicationsApache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data ApplicationsHortonworks
 
Practical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & PigPractical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & PigMilind Bhandarkar
 
Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Kevin Weil
 
Dfd and flowchart
Dfd and flowchartDfd and flowchart
Dfd and flowchartMir Majid
 
Cloud Computing Documentation Report
Cloud Computing Documentation ReportCloud Computing Documentation Report
Cloud Computing Documentation ReportUsman Sait
 

Andere mochten auch (20)

graphical abstract
graphical abstractgraphical abstract
graphical abstract
 
Insights on On-demand Media Streaming Progress
Insights on On-demand Media Streaming ProgressInsights on On-demand Media Streaming Progress
Insights on On-demand Media Streaming Progress
 
Book Industry Guild of NY - Publishing Technology Update: New Digital Directions
Book Industry Guild of NY - Publishing Technology Update: New Digital DirectionsBook Industry Guild of NY - Publishing Technology Update: New Digital Directions
Book Industry Guild of NY - Publishing Technology Update: New Digital Directions
 
Web application based file transfer in customized cloud
Web application based file transfer in customized cloudWeb application based file transfer in customized cloud
Web application based file transfer in customized cloud
 
Project_intership
Project_intershipProject_intership
Project_intership
 
Asynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerAsynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controller
 
Pc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini project
 
automatic database schema generation
automatic database schema generationautomatic database schema generation
automatic database schema generation
 
آليات التكشيف على الويب وأدواته
آليات التكشيف على الويب وأدواتهآليات التكشيف على الويب وأدواته
آليات التكشيف على الويب وأدواته
 
Cloud Computing Security (Final Year Project) by Pavlos Stefanis
Cloud Computing Security (Final Year Project) by Pavlos StefanisCloud Computing Security (Final Year Project) by Pavlos Stefanis
Cloud Computing Security (Final Year Project) by Pavlos Stefanis
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System Implementation
 
Data transfer scheme
Data transfer schemeData transfer scheme
Data transfer scheme
 
Data transferschemes
Data transferschemesData transferschemes
Data transferschemes
 
intelligent street light system using gsm Report
intelligent street light system using gsm Reportintelligent street light system using gsm Report
intelligent street light system using gsm Report
 
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robot
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robotB.Tech.Final Year ECE Project Report on Ultrasonic distance measure robot
B.Tech.Final Year ECE Project Report on Ultrasonic distance measure robot
 
Apache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data ApplicationsApache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data Applications
 
Practical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & PigPractical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & Pig
 
Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)
 
Dfd and flowchart
Dfd and flowchartDfd and flowchart
Dfd and flowchart
 
Cloud Computing Documentation Report
Cloud Computing Documentation ReportCloud Computing Documentation Report
Cloud Computing Documentation Report
 

Ähnlich wie RitZBox-A file Sharing system

Report : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationReport : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationNidhi Chauhan
 
Webface - Passion is Innovation
Webface - Passion is InnovationWebface - Passion is Innovation
Webface - Passion is InnovationAbhishek kumar
 
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTION
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTIONWEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTION
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTIONIRJET Journal
 
LANGUAGE TRANSLATOR APP
LANGUAGE TRANSLATOR APPLANGUAGE TRANSLATOR APP
LANGUAGE TRANSLATOR APPIRJET Journal
 
Report : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationReport : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationKritika Phulli
 
Project Dpilot Documentation
Project Dpilot DocumentationProject Dpilot Documentation
Project Dpilot DocumentationDeepAnshu Sharma
 
2D to 3D dynamic modeling of architectural plans in Augmented Reality
2D to 3D dynamic modeling of architectural plans in Augmented Reality2D to 3D dynamic modeling of architectural plans in Augmented Reality
2D to 3D dynamic modeling of architectural plans in Augmented RealityIRJET Journal
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET Journal
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project reportRahul E
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project reportRahul E
 
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...IRJET Journal
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project ReportMilind Gokhale
 
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...Sunil Rajput
 
Application development for mobile phones
Application development for mobile phonesApplication development for mobile phones
Application development for mobile phonesSanjeev Kumar Jaiswal
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sitesGyanendra Pratap Singh
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET Journal
 
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi...IRJET Journal
 
Minor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure VisualizerMinor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure VisualizerRonitShrivastava057
 

Ähnlich wie RitZBox-A file Sharing system (20)

Report : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationReport : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web Application
 
Webface - Passion is Innovation
Webface - Passion is InnovationWebface - Passion is Innovation
Webface - Passion is Innovation
 
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTION
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTIONWEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTION
WEB BASED AND BLOCKCHAIN APPLICATION FOR EDUCATIONAL INSTITUTION
 
qadeer intern report.pdf
qadeer intern report.pdfqadeer intern report.pdf
qadeer intern report.pdf
 
LANGUAGE TRANSLATOR APP
LANGUAGE TRANSLATOR APPLANGUAGE TRANSLATOR APP
LANGUAGE TRANSLATOR APP
 
Report : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationReport : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web Application
 
Project Dpilot Documentation
Project Dpilot DocumentationProject Dpilot Documentation
Project Dpilot Documentation
 
2D to 3D dynamic modeling of architectural plans in Augmented Reality
2D to 3D dynamic modeling of architectural plans in Augmented Reality2D to 3D dynamic modeling of architectural plans in Augmented Reality
2D to 3D dynamic modeling of architectural plans in Augmented Reality
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming Environment
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project report
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project report
 
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project Report
 
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
 
Stacker's
Stacker'sStacker's
Stacker's
 
Application development for mobile phones
Application development for mobile phonesApplication development for mobile phones
Application development for mobile phones
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sites
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi...
 
Minor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure VisualizerMinor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure Visualizer
 

Kürzlich hochgeladen

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

RitZBox-A file Sharing system

  • 1. [Type your address][Type your phone number][Type your e-mail address]  Designed by  MANIT BHOPAL SUBHAM SUBHAM MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY BHOPAL -462051 DEPARTMENT OF COMPUTER SCIENCE ENGINEERING MINOR PROJECT REPORT ON “RitZBoX - A File Synchronization and Sharing Application using Desktop , SUBMITTED IN PARTIAL FULFILMENT FOR THE DEGREE OF Android And Web Interface” BACHELOR OF TECHNOLOGY SUBMITTED BY Mr. RITURAJ DASHORE (091115007) Mr. SUBHAM SAHU (091115059) Mr. SATISH THAPAK (091115075) UNDER THE GUIDANCE OF Dr. R. K. PATERIYA SESSION 2011-12
  • 2. MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY BHOPAL 462051 DEPARTMENT OF COMPUTER SCIENCE ENGINEERING CONDIDATE’S DECLARATION We hereby certify that the work which is being presented in the project report entitled “RitZBoX- A File Synchronizing and Sharing Application using Desktop, Android App. And Web Interface” submitted in partial fulfilment of the requirement for the award of the degree of Bachelor of Technology in Information Technology, submitted to Department of Computer Science Engineering, Maulana Azad National Institute of Technology, Bhopal is an authentic record of our own work carried out during the period of Jan 2012 to Apr 2012 under the supervision of Dr. R. K. Pateriya, Associate Professor, Department of Computer Science Engineering, Maulana Azad National Institute of Technology, Bhopal. The matter being presented in the project report has not been submitted by us for the award of any other degree or diploma of this or any other Institute/University. Rituraj Dashore Subham Sahu Satish Thapak (091115007) (091115059) (091115075) I
  • 3. MAULANA AZAD NATIONAL INSTITUTE OF TECHNOLOGY BHOPAL- 462051 DEPARTMENT OF COMPUTER SCIENCE ENGINEERING CERTIFICATE This is to certify that Mr. Rituraj Dashore (091115007) ,Mr. Subham Sahu (091115059), Mr. Satish Thapak (091115075) of third year B.Tech , Information Technology have successfully completed their minor project entitled “RitZBox: A File Synchronization and Sharing Application using Desktop , Android And Web Interface ” in the partial fulfilment of their B.Tech in Information Technology for session 2011-2012. GUIDE PROJECT CORDINATOR Dr. R. K. PATERIYA Prof. JYOTI BHARTI (Associate Professor) (Associate Professor) Dept. of Computer Science Engineering Dept. of Computer Science Engineering II
  • 4. ACKNOWLEDGEMENT We would like to take this opportunity to extend our heartfelt gratitude to our guide and mentor Dr. R. K. Pateriya, Associate Professor, Department of Computer Science and Information Technology, Maulana Azad National Institute of Technology, Bhopal, for his trust in our work, his able guidance, regular source of encouragement and assistance throughout this project work. We would state that the dissertation work would not have been in the present shape without his inspirational support and we consider our self-fortunate to have done our project under him. We have been able to successfully complete this project because of excellent guidance and infinite help given to us by Dr. Nilay Khare, Head of dept. of Computer Science Engineering. We thank Dr. Appu Kuttan K K , Director, MANIT for allowing us to use college resource for completion of our project. It is difficult to acknowledge adequately the help and encouragement we received from faculty of department but we take this opportunity to thanks them profusely. Rituraj Dashore Subham Sahu Satish Thapak (091115007) (091115059) (091115075) III
  • 5. ABSTRACT The emerging technologies are replacing the old hardware and software. Today the speed & security of data is most important. Since data storing and its sharing has become very important in today’s world of globalisation, so a platform is required which can provide us secure and platform independent file storing and sharing. Now-a-days Internet is available with tablets and mobile devices as well as personal computers. So a service should be accessible from desktop, website (browser) and Mobile platforms so that we can use Internet to store data securely and share data. Android is emerging Mobile platform now-a- days as well as in future as published by Google. We designed this project to fulfil all this demands and requirements and with a full- fledged business model, which can make this project commercially viable, so that we can bring this from a project to real-time Product. This System is a server-based hosting service designed as client-server model that uses server storage to enable users to store and share files and folders with others across the internet. The server is hosted on three Linux based servers. The client is having three modes of communication. It has a desktop application, Web-site and an Android Mobile application. The Desktop module is having a folder containing important files synchronised with server. The regular update of folder is synchronised with server which ensures the secure storage of files. The website is the gateway to see all the files and the download them on the Desktops where the application is not installed. Android application is to be installed on Mobiles and tablets for availing the services. As per security requirement of the files the project uses GPS service, and Encryption of files, to avoid many types of Security flaws. The use of Cloud Storage will be done in the next phase of the project As per business aspect the mobile advertising and Website-advertising is used to earn revenues. For better revenue Web-mining and Data-mining of the account information helps us to provide advertising of client’s interest to earn Good revenues. IV
  • 6. GRAPHICAL ABSTRACT Encryption Uploading Downloading Android Application Development J2SE J2EE RitZBoX Desktop application Web Interface Android Application RitZBoX.exe RitZBoX.com RitZBoX.apk Business Aspects V
  • 7. Table of Contents Topic Page no. Chapter 1 introduction 1 1.1 Overview 1 1.2 Motivation 2 1.2.1 Advantages 2 1.2.2 Development Challenges 2 1.3 Problem Statements 3 1.4 Project Report Organisation 3 Chapter 2 Project functionalities & S/w & H/w Requirements 4 2.1 Project Functionalities 4 2.1.1 Functionality of Desktop module 5 2.1.2 Functionality of Web Module 6 2.1.3 Functionality of Android application 7 2.2 S/w and H/w Requirements 8 2.2.1 Desktop interface 8 2.2.2 Website Interface 8 2.2.3 Android application 8 2.2.4 For Development Purpose s/w Procurement Chapter 3 Theory and/or Technologies 9 3.1 File sharing And Its Importance 9 3.2 JAVA 10 3.2.1 JAVA2SE (used for desktop application) 11 3.2.1.1 Threading 12 3.2.1.2 Java I/0 13 3.2.1.3 Networking with java 14 3.2.2 Java Enterprise Edition 15 3.2.2.1 JSP SERVLETS (middleware) 16 3.2.2.2 (JDBC) Java Database Connectivity 17 3.3 Database Designing 17 3.4 Encryption 18
  • 8. 3.5 Android application 19 Chapter 4 Software Life Cycle 22 Spiral model Chapter 5 Software Design 25 5.1 MODULE 1 Installing and configuring tomcat server and Database 27 Design 5.2 MODULE 2 Web Development 28 5.3 MODULE 3 Development of Desktop Application and 30 Synchronisation with server 5.4 MODULE 4 Development of Android Application 32 Chapter 7 Implementation And Coding 57 7.1 Web Module Implementation Structure 57 7.2 Desktop Module Implementation Structure 58 7.3 Android Module Implementation Structure 59 Chapter 8 Software Testing, Debugging and limitation 60 8.1 Software Testing 60 8.1.1 Unit testing 60 8.1.2 Integration testing 60 8.1.3 System testing 61 8.2 Approaches for testing 61 8.3 Debugging 61 8.3.1 Brute force method 61 8.3.2-Backtracking 62 8.4 DDMS Chapter 9 Gantt Chart 64 9.1 Task table showing the tasks of the project 65 9.2 Only Gantt chart with weekly reporting 66 9.3 Gantt Chart with task table 67 Chapter 10 Business Aspect, Security and miscellaneous Features 68 10.1 Business Aspect Review 68
  • 9. 10.1.1Financial study related to each module 69 10.1.2 Freemium model 69 10.2 Security 70 10.3 GPS location services 70 Chapter 11 Conclusion And Future Scope 71 References 72 Source codes
  • 10. Figure And Snapshot Index S no Fig. Name Page No. No. 1 2.1 Over all functionality of project 4 2 2.2 Functional flow of Desktop module 5 3 2.3 Functional flow of Web module 6 4 2.4 Functional flow of mobile(Android application) module 7 5 3.1 The emulator on desktop for running applications and other 21 application testing purposes 6 4.1 Spiral Model(software development cycle) 23 7 5.1 Detailed Modular Design 26 8 5.2 Basic design of UI 29 9 5.3 Basic design of UI 29 10 5.4 File chooser of Windows 30 11 5.5 Synchronisation of files with in server and devices 31 12 5.6 Figure showing basic outline of Android App 32 13 6.1.1 Table_file info 33 14 6.1.2 User_info Table 34 15 6.2.1 Home page which contains links to go to various pages of site 35 and form to sign in user 16 6.2.2 Front page having basic information and user sign in form 36 17 6.2.3 For Sign Up facility of the new user 37 18 6.2.4 For Sign Up facility of the new user 37 19 6.2.5 After logging in user will be able to upload his files and 38 download or delete uploaded files 20 6.2.6 List of files uploaded and facility to delete or download them 39 from server 21 6.2.7 Public file-sharing blog from which users around the world 40 can upload data 22 6.2.8 Public Blog A Place for discussion with all 41 23 6.2.9 Advertisement page for revenue collection and business 42 aspects 24 6.3.1 RitZboX’s Desktop application installer 43
  • 11. 25 6.3.2 Authentication with serial numbers during installation 44 26 6.3.3 Viewing of License File during installation 45 27 6.3.4 Choosing path for installation of RitZboX 46 28 6.3.5 Showing install button for extraction of files to desktop 47 29 6.3.6 Progression of installation 48 30 6.3.7 Choosing RitZboX’s Home Folder when user will use it first 49 time and user verification 31 6.3.8 Choosing RitZboX’s Home Folder when user will use it first 49 time and user verification 32 6.3.10 RitzBox Folder on Desktop for synchronisation 50 33 6.3.11 Files uploaded to server 51 34 6.4.1 Opening and Running the Android Emulator 52 35 6.4.2 Opening and Running the Android app. on Emulator 53 36 6.4.3 Opening and Running the Android application and user 54 credentials entry 37 6.4.4 After user credentials verification users are shown options 55 38 7.1 Web Module Structure 57 39 7.2 Desktop Module Structure 58 40 7.3 Android Module Structure 59 41 8.1 Brute force method testing 61 42 8.2 The error is traced from the top to lower hierarchy of the files 62 43 9.1 Task table showing the tasks of the project 65 44 9.2 Only Gantt chart with weekly reporting 66 45 9.3 Gantt Chart with task table 67
  • 12. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 1 Chapter 1 INTRODUCTION 1.1 Overview Today the time has come that the Internet has become an integral part of daily life. Digitalised life is now dependent on digital files. Starting from documents to image files, Spread sheets to Contact files, files are now costlier than many thing and become very important. File sharing and Synchronization is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia (audio, images and video), documents, or electronic books. It may be implemented through a variety of ways. Common methods of storage, transmission and dispersion include manual sharing utilizing removable media, centralized servers on computer networks, World Wide Web- based hyperlinked documents, and the use of distributed peer-to-peer networking. File storing and sharing is essential, and we are now having many ways to perform this but every way has its merits and demerits. For storing the use of dedicated server is used which has various demerits and also the cloud server is used which is complicated for deployment and also require more systems. The file sharing has become very popular now a day for its higher data secure and utilisation properties. The peer to peer file sharing systems provide infrastructure for communities to share storage space (e.g. Napster, Gnutella, Kazza ). Unlike traditional distributed systems, P2P networks aim to aggregate large numbers of computers that join and leave the network frequently and might not have permanent network (IP) addresses. In a pure distributed P2P system such as Gnutella, peers communicate directly with each other and share resources without dedicated servers. In essence, these P2P systems build, at the application level, a virtual overlay network with it own routing mechanisms. Different file sharing ways as Google Docs, Dropbox, mediafire, hotfile are there, which provides various file sharing services in different ways of services. Google Docs is Google's "software as a service" office suite. Documents, spreadsheets, presentations can be created with Google Docs, imported through the web interface, or sent via email. Documents can be saved to a user's local computer in a variety of formats. 1
  • 13. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 2 Dropbox is a Web-based file hosting service operated by Dropbox, Inc. that uses networked storage to enable users to store and share files and folders with others across the Internet using file synchronization. Tablet and mobile users needs a common platform to share the files and should be safe about their files. They should be able to retrieve the files from mobile, through website and synchronized folders of their personal computers, Which is designed as this project and the product of the project is named as “RitZBoX” 1.2 Motivation The motivation for the study comes from the unique challenges offered in the varied application domain. We will now discuss the various advantages of this project and then the problems statements. 1.2.1 Advantages • The website facilitates user download and upload the files to the server • The folder on desktop is synchronised with server, which makes user less effort for storage and user friendly environment. • The Android application makes the system more useful as the 3G (Third-generation) wireless cellular network provides both voice and data services to its subscribers. It combines wireless communication with internet • Entrepreneurial aspects and security. 1.2.2 Development Challenges • Scalability: The aim of scaling is to allow the system to expand in scale without disrupting the activities of the users. The enormous data should not lead to corrupt or any other issues. • Heterogeneity: the system should be available and accessible from different plat- form without any difference in performance. • Real-Time Data Delivery: the system should be able to deliver data in real-time when-where ever data is requested. • Limited Bandwidth: Although Internet is available to all devices(within the targeted), but many of devices have very slow connection speed and for better costing Limited Bandwidth is to be taken care of. 2
  • 14. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 3 1.3 Problem Statement To design File storing and sharing system having following features 1. To able to implement tomcat server 2. To create Data base as back end to store data on the servers 3. Create a web-platform as user interface for downloading, uploading and sharing of files. 4. Create a desktop application which facilitate to synchronise a folder with server ensuring the files in that folder has its copy on server 5. Designing an Android application, so that user can store of send any file from the mobile to server 6. Ensuring the encryption of data on the server for batter security. 7. Appling several business concepts like advertisement and Entrepreneurship skills. 1.4 PROJECT-REPORT Organisation The report comprises of seven chapters including this chapter that introduces the topic and motivation of the project. The rest of dissertation is organized as follows: Chapter 2: Project functionalities and hardware Requirement: here we describe the three functionalities such as desktop interface, server, mobile etc. Chapter 3: Theory and/of Technologies: throws light on the theories and technologies related to this project. Chapter 4: Software Life Cycle: here we describe the software life cycle and different phases, the development life cycle of this project Chapter 5: Software Design: It describes the design of this project, the modules it was divided into and its DFD digrams. Chapter 6: Implementation And Coding: It have the algorithms related to all the modules of the project . Chapter 7: Business aspect, Security and miscellaneous Features: It has the information about other features of project like Encryption techniques used, advertising issues and others. Chapter 8: Software Testing, Debugging Chapter 9: Gantt charts Chapter10: Conclusion and future work: Some future work is proposed and the project report concluded. 3
  • 15. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 4 Chapter 2 PROJECT FUNCTIONALITIES, S/W & H/W REQUIREMENTS 2.1 Project Functionalities: The functionality of the project is divided into 3 phases according to the interfaces. The overall functionality of the project is described in fig 2.1 as follows: The total project has a total system with availing user 3 interfaces, as Desktop software, Website for log-in And An Android application. Over all functionality of project Fig. 2.1 4
  • 16. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 5 2.1.1 Functionality of Desktop module: • User will be given with RitZBoX_setup.exe • During installation user will be asked to choose home folder if not choosen set default folder as home folder • If the user is installing for first time then username and password will be asked and verified from the server • User is required to put the files there in folder in order to make automatic backup of files • Folder should be Synchronised with server continuously • Any new file added to the folder will be automatically backed up to the server User is given with RitZBoX_Setup.exe Choose a folder as Not choosen home folder choosen Default is chosen Use chosen folder Server for storing the files Used as home folder Functional flow of Desktop module Fig 2.2 5
  • 17. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 6 2.1.2 Functionality of Web Module • User should log in to RitZBoX.com if for the first time sign up • After sign up the user will get options for operation • If user wills to Download the files then Click on Download • If user wills to upload then file-chooser will be shown after selecting , Click on upload • After file operation user will view an advertisement • Then he can log-out. Open browser and visit RitZBoX.com No Signed up? Yes Sign-up and log-in Log-in connected See the files and options Webserver storing all the files and user information database upload download Download and upload(using file chooser) Log out(exit) Functional flow of Web module Fig 2.3 6
  • 18. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 7 2.1.3 Functionality of Android application • User should install RitZBoX.apk file for the first time. • After signed-in the user will get options for operation • If user wills to Download the files then Click on Download • If user wills to upload then file-chooser will be shown after selecting , Click on upload • After file operation user will view an advertisement Open mobile and install RitZBoX.apk If user data not exist Give username and password If user data exists on server Display “sign up on website” User logged in Server storing all the files Download and upload(using and user information file chooser) upload and download Exit the application Functional flow of mobile(Android application) module Fig 2.4 7
  • 19. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 8 2.2 S/w and H/w Requirements:- 2.2.1 Desktop interface: • 2gb RAM • 2GHz processor • Connected to internet • 40Gb hard Disk 2.2.2 Website Interface: • Mozilla firefor 5 or later • Internet Explorer 7 or later • Google chrome 18.0.1025.xxx • Safari 5.x.x or later 2.2.3 Android application: • Android 2.2.3 or later • Internet connection 2.2.4 For Development Purpose s/w Procurement • Netbeans , Eclipse for coding and MySQL GUI for Data Base • Android SDK for Eclipse and Apache Tomcat for web module • Microsoft Project software for project documentation • Advanced Installer for project installer creation 8
  • 20. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 9 Chapter 3 THEORY AND/OF TECHNOLOGIES The project is an extensive application of emerging technologies. This project uses technologies like information retrieval, Web Development, Desktop application development, Android Application Development, Encryption technologies. Different technological aspect of the project are discussed as follows 3.1 File sharing And Its Importance File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia (audio, images and video), documents, or electronic books. It may be implemented through a variety of ways. Common methods of storage, transmission and dispersion include manual sharing utilizing removable media, centralized servers on computer networks, World Wide Web-based hyperlinked documents, and the use of distributed peer-to-peer networking. Small businesses lose billions of dollars each year due to data loss from hardware or system failure, human error and software corruption. Natural disasters account for one percent of all data loss. Although the probability is small, the impact can be overwhelming. In fact, companies that aren’t able to resume operations within ten days of a disaster are not likely to survive. Catastrophes aside, being fast and nimble is one of the defining characteristics of small and medium sized businesses. Finance executives need fast access to accurate information to perform optimally. In any business however, finding the right version of last month’s financial statements can sometimes be difficult. If it takes two weeks or more to access and validate an operating unit’s financials, that may have just lost the deal. It is not only important to provide data protection, but quick and easy access to the right information. In today’s increasingly wired business world, the best way to recover from data loss due to a natural disaster is to store backup data in a physically separate location. There are companies that specialize in preserving documents on tapes and discs that are stored within other structures. Although they too are susceptible to natural disasters, these companies have helped to save numerous businesses where the damage has only been internal. 9
  • 21. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 10 3.2 JAVA Java is a programming language originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to byte code (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java is currently one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users. Java platform One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets. Standardized libraries provide a generic way to access host-specific features such as graphics, threading, and networking. 10
  • 22. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 11 A major benefit of using byte code is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executable would. Just-in-Time (JIT) compilers were introduced from an early stage that compiles byte codes to machine code during runtime. The platform is not specific to any one processor or operating system, but rather an execution engine (called a virtual machine) and a compiler with a set of libraries that are implemented for various hardware and operating systems so that Java programs can run identically on all of them.  Java Card: A technology that allows small Java-based applications (applets) to be run securely on smart cards and similar small- memory devices.  Java ME (Micro Edition): Specifies several different sets of libraries (known as profiles) for devices with limited storage, display, and power capacities. Often used to develop applications for mobile devices, PDAs, TV set-top boxes, and printers.  Java SE (Standard Edition): For general-purpose use on desktop PCs, servers and similar devices.  Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier client– server enterprise applications. 3.2.1 JAVA2SE (used for desktop application development) Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use. In practical terms, Java SE consists of a virtual machine, which must be used to run Java programs, together with a set of libraries (or "packages") needed to allow the use of file systems, networks, graphical interfaces, and so on, from within those programs. Some of the topics of JAVA standard edition are really useful in this application and they are as follows: 11
  • 23. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 12 3.2.1.1 Threading Threading concept is very important in Java Programing language. A thread is a sequential path of code execution within a program. And each thread has its own local variables, program counter and lifetime. 1. Life Cycle of A Thread Life Cycle of Thread contains different states - New state, Runnable, Running state, Dead state, Non-Runnable state. 2. Thread Creation Thread can be implementing by one of two ways - Extending the java.lang.Thread Class, Implementing the java.lang.Runnable Interface. 3. Thread Constructors Several constructors are available for creating new Thread instances like Thread(), Thread(String),Thread(Runnable) etc.... 4. Introduction to Multithreading Multithreading is a technique that allows a program or a process to execute many tasks concurrently (at the same time and parallel). It allows a process to run its tasks in parallel mode on a single processor system. 5. Creation of Multiple Threads Like creation of a single thread, You can also create more than one thread (multithreads) in a program using class Thread or implementing interface Runnable. 6. Thread Priorities and Scheduler In Java, thread scheduler can use the thread priorities in the form of integer value to each of its thread to determine the execution schedule of threads . Thread gets the ready-to-run state according to their priorities. 7. Deadlock A situation where a thread is waiting for an object lock that holds by second thread, and this second thread is waiting for an object lock that holds by first thread, this situation is known as Deadlock. 8. Lock and Synchronized Threads Java uses monitor also known as semaphore to prevent data from being corrupted by multiple threads by a keyword synchronized to synchronize them and 12
  • 24. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 13 intercommunicate to each other. Lock term refers to the access granted to a particular thread that can access the shared resources. 9. Inter-Thread Communication A process where, a thread is paused while running in its critical region and another thread is allowed to enter (or lock) in the same critical section to be executed. This technique is known as Inter-Thread communication 10. Daemon Thread Daemon threads are service providers for other threads or objects running in the same process as the daemon thread. Daemon threads are used for background supporting tasks and are only needed while normal threads are executing 11. Thread Synchronization in Java : When two or more threads need shared resource, they need a proper mechanism to ensure that the resource will be used by only one thread at a time. The mechanism we use to achieve this is known as thread synchronization. 3.2.1.2 Java I/0 The Java I/O means Java Input/Output. It is provided by the java.io package. This package has an Input Stream and Output Stream. Java Input Stream is defined for reading the stream, byte stream and array of byte stream. • Working with the Files The File class deals with the machine dependent files in a machine-independent manner i.e. it is easier to write platform-independent code that examines and manipulates files using the File class. This class is available in the java. Lang package.  Create a File  Constructing a File Name path  Read the File  Write to a File  Appending to a File  Getting the Size of a File  Count lines of a particular file  Renaming a File or Directory  Copying a File to Another File  Copying Multiple Files  Moving a File or Directory to Another Directory  Deleting a File or Directory 13
  • 25. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 14  Change a File timestamp  Create a Temp File  Delete a Temp File  Getting an absolute path and Parents of a Filename 3.2.1.3 Networking with java The Java platform is extremely preferable to write an application program require to communicate with the resources on network. Java, mainly focuses on the networking relating the description of the networking capabilities of the Java platform and second one is describes a brief summary of networking in a very simple manner that how to use URLs, sockets, and datagrams. In Java, there is a java.net package provides the network support. All the classes for making a network program are defined in the java.net package. Through TCP we can communicate over the network. TCP/IP and UDP/IP communications There are two communication protocols that one can use for socket programming: datagram communication and stream communication. Datagram communication: The datagram communication protocol, known as UDP (user datagram protocol), is a connectionless protocol, meaning that each time you send datagrams, you also need to send the local socket descriptor and the receiving socket's address. As you can tell, additional data must be sent each time a communication is made. Stream communication: The stream communication protocol is known as TCP (transfer control protocol). Unlike UDP, TCP is a connection-oriented protocol. In order to do communication over the TCP protocol, a connection must first be established between the pair of sockets. While one of The sockets listen for a connection request (server), the other asks for a connection (client). Once two sockets have been connected, they can be used to transmit data in both (or either one of the) directions. 14
  • 26. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 15 3.2.2 Java Enterprise Edition (for web-development) Enterprise Edition or Java EE is Oracle's enterprise java computing platform. Java EE includes several API specifications, such as JDBC , and defines how to coordinate them. Java EE also features some specifications unique to Java EE for components. These include Enterprise JavaBeans, Connectors, servlets, Java Server Pages and several web service technologies. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Like RMI, e-mail, JMS, web services, XML, etc. A Java EE application server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it, in order to enable developers to concentrate more on the business logic of the components rather than on infrastructure and integration tasks. The Java EE APIs includes several technologies that extend the functionality of the base Java SE APIs. 3.2.2.1 Designing of Web Portal A web portal is a web site that brings together information from diverse sources in a unified way. Usually, each information source gets its dedicated area on the page for displaying information (a port let); often, the user can configure which ones to display. HTML HyperText Markup Language (HTML) is the main markup language for web pages. HTML elements are the basic building-blocks of webpages.HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create 15
  • 27. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 16 structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which affect the behaviour of HTML webpages. CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts.[1] This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content. JAVA SCRIPT JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. JQUERY JQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML. jQuery is free, open source software, dual-licensed under the MIT License or the GNU General Public License. jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. 3.2.2.2 JSP SERVLETS (middleware) Java Server Pages (JSP) is a technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types. Released 16
  • 28. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 17 in 1999 by Sun Microsystems, JSP is similar to ASP and PHP, but it uses the Java programming language. JSPs are compiled into servlets by a JSP compiler. The compiler either generates a servlet in Java code that is then compiled by the Java compiler, or it may compile the servlet to byte code which is directly executable. JSPs can also be interpreted on-the-fly, reducing the time taken to reload change. 3.2.2.3 (JDBC) Java Database Connectivity JDBC is a Java-based data access technology (Java Standard Edition platform) from Sun Microsystems, Inc.. It is not an acronym as it is unofficially referred to as Java Database Connectivity. This technology is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases. A JDBC-to-ODBC bridge enables connections to any ODBC-accessible data source in the JVM host environment. 3.3 DATABASE DESIGNING Database design is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which can then be used to create a database. A fully attributed data model contains detailed attributes for each entity. The term database design can be used to describe many different parts of the design of an overall database system. Principally, and most correctly, it can be thought of as the logical design of the base data structures used to store the data. In the relational model these are the tables and views. In an object database the entities and relationships map directly to object 17
  • 29. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 18 classes and named relationships. However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the database management system (DBMS).The process of doing database design generally consists of a number of steps which will be carried out by the database designer. 3.4 ENCRYPTION In cryptography, encryption is the process of transforming information (referred to as plaintext) using an algorithm (called a cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information (in cryptography, referred to as cipher text). The reverse process, i.e., to make the encrypted information readable again, is referred to as decryption. Encryption can be used to protect data "at rest", such as files on computers and storage devices (e.g. USB flash drives) mobile telephones, wireless microphones, wireless intercom systems, Bluetooth devices and bank automatic teller machines. 18
  • 30. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 19 3.5 ANDROID APPLICATION Android, the world's most popular mobile platform, Android powers millions of phones, tablets, and other devices and brings the power of Google and the web into our hands. With an amazingly fast browser, cloud sync, multi-tasking, easy connect & share, and the latest Google apps (and thousands of other apps available on Google Play) our Android powered device is beyond smart. The Android SDK includes a virtual mobile device emulator that runs on our computer. The emulator lets you prototype, develop and test Android applications without using a physical device. The Android emulator mimics all of the hardware and software features of a typical mobile device, except that it cannot place actual phone calls. It provides a variety of navigation and control keys, which you can "press" using your mouse or keyboard to generate events for your application. It also provides a screen in which our application is displayed, together with any other active Android applications. To let us model and test your application more easily, the emulator utilizes Android Virtual Device (AVD) configurations. AVDs let you define certain hardware aspects of your emulated phone and allow you to create many configurations to test many Android platforms and hardware permutations. Once your application is running on the emulator, it can use the services of the Android platform to invoke other applications, access the network, play audio and video, store and retrieve data, notify the user, and render graphical transitions and themes. The emulator also includes a variety of debug capabilities, such as a console from which you can log kernel output, simulate application interrupts (such as arriving SMS messages or phone calls), and simulate latency effects and dropouts on the data network. The Android emulator is an application that provides a virtual mobile device on which you can run your Android applications. It runs a full Android system stack, down to the kernel level, that includes a set of preinstalled applications (such as the dialer) that you can access from your 19
  • 31. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 20 applications. You can choose what version of the Android system you want to run in the emulator by configuring AVDs, and you can also customize the mobile device skin and key mappings. When launching the emulator and at runtime, you can use a variety of commands and options to control its behaviour. The Android system images available through the Android SDK Manager contain code for the Android Linux kernel, the native libraries, the Dalvik VM, and the various Android packages (such as the Android framework and preinstalled applications). The emulator provides dynamic binary translation of device machine code to the OS and processor architecture of your development machine. The Android emulator supports many hardware features likely to be found on mobile devices, including: • An ARMv5 CPU and the corresponding memory- management unit (MMU) • A 16-bit LCD display • One or more keyboards (a Qwerty-based keyboard and associated Dpad/Phone buttons) • A sound chip with output and input capabilities • Flash memory partitions (emulated through disk image files on the development machine) • A GSM modem, including a simulated SIM Card • A camera, using a webcam connected to your development computer. • Sensors like an accelerometer, using data from a USB-connected Android device. 20
  • 32. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 21 The emulator on desktop for running applications and other application testing purposes Fig 3.1 21
  • 33. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 22 Chapter 4 SOFTWARE LIFE CYCLE A software life cycle model (also called process model) is a descriptive and diagrammatic representation of the software life cycle. A life cycle model represents all the activities required to make a software product transit through its life cycle phases. It also captures the order in which these activities are to be undertaken. In other words, a life cycle model maps the different activities performed on a software product from its inception to retirement. Different life cycle models may map the basic development activities to phases in different ways. Thus, no matter which life cycle model is followed, the basic activities are included in all life cycle models though the activities may be carried out in different orders in different life cycle models. As we studied different short-coming and industrial approach to projects we found the SPIRAL MODEL is found to be most appropriate for our project. So we have approached spiral model for life cycle of Software development. The Spiral model of software development is shown in figure. The diagrammatic representation of this model appears like a spiral with many loops. The exact number of loops in the spiral is not fixed. Each loop of the spiral represents a phase of the software process. 22
  • 34. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 23 FIG 4.1 23
  • 35. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 24 we see three loops as 3 stages of developments with different and increased models. So in each quadrant we define 3 levels of development. SECOND QUADRANT(DETERMINE REQUIREMENT ANALYSIS ) • Determine the Requirements Analysis • Loop1: Development of Web portal and mysql database: prototype1 • Loop2: Development of Desktop Synchronisation : prototype2 • Loop3: Development of Android application and access through it: prototype3 FIRST QUADRANT(RISK ANALYSIS AND PROTOTYPE DESIGN ) • Loop1: Risk analysis of : prototype1 • Loop2: Risk analysis of : prototype2 • Loop3: Risk analysis of : prototype3 FOURTH QUADRANT(DETAILED DESIGN AND IMPLEMENTATION ) • Loop1: Software requirement and requirement validation • Loop2: Software design and design validation • Loop3: Detailed design THIRD QUADRANT( PLANNING) • Loop1: Software development • Loop2: Development plan • Loop3: Software integration and Test plan The Spiral model development is implemented and the phases are discussed as chapters. 24
  • 36. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 25 Chapter 5 SOFTWARE DESIGN Software design deals with transforming the customer requirements, as described in the SRS document, into a form (a set of documents) that is suitable for implementation in a programming language. A good software design is seldom arrived by using a single step procedure but rather through several iterations through a series of steps. As a part of Software design we first divided the full project to 5 Modules. They are as follows: Module 1: Installing and configuring tomcat server and Database Design Module 2: Development of Client-server (Web portal) way of communication Module 3: Development of Desktop Application and Synchronisation with server Module 4: Development of Android Application and Access to Server Module 5: Apply of Business models in all modules and Security Enhancements by Encryption During the design the following points are being taken cared of as: • The total design should be properly modulated • Cohesion of the project is high • Coupling of the project is low 25
  • 37. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 26 Detailed Modular Design (Cohesion and Coupling) MODULE 1 (SERVER INSTALLATION AND CONFIGURATION and DATABASE DESIGN) MODULE 3 MODULE 4 MODULE 2 (Desktop application (Android Application (Website devlopment) development and server development and Synchronisation) Database Access) MODULE 5 (Apply of Business models in all modules and Security Enhancements by Encryption) OUT PUT Fig 5.1 26
  • 38. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 27 5.1 Design of Module 1  Installing and configuring tomcat server and database designing. Requirements:  Database should be designed to facilitate following features such as: • User signup • User logged in • File description • File path on server DESIGNING  Install the eucalyptus on server.  The database with following table should be created. Table1 Attributes Data types F_name Varchar(150) F_path Varchar(300) F_size Big int(20) F_type Varchar(50) Upload_date Date time Upload_location Varchar(200) Fk_userid (F-key) Varchar(100) 27
  • 39. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 28 Table2 Attributes Data type User_name(primary-key) Varchar(100) Password Varchar(50) Sex Varchar(50) E-mail_id Varchar(7) Address Varchar(70) Occupation Varchar(130) Interest Varchar(100) Stored_size Varchar (200) File_count Integer Acc_start_date Integer Acc_info Varchar (100) Wants add Tinyint (1) Uploaded_file_info Blob 5.2 Design of Module 2:- Web Developments Requirements:  The website should be having these functionalities. • User signup and login verifications & functionalities. • Cookies should be enabled. • Server response should be there for file available on server. • Uploading and entering the file i/o operation in database. • User should able to download and upload server. 28
  • 40. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 29 Design: The basic design as per requirement is as the User id User password Signup Fig 5.2 Welcome Upload File1 215k download File2 256k Fig 5.3  Web page is to be designed.  The database should be fetched and checked from database entry. 29
  • 41. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 30  The DAO should be made for linking b/w Mysql and client. 5.3 Design of Module 3:- Development of Desktop Application and Synchronisation with server Core requirements: 1. An RitZBoX_setup.exe file fir window user installation 2. He should be able to Choose home folder of RitZboX 3. The folder should be synchronised with the server. So the basic need can be designed as Fig 5.4 The file chooser should be alike with windows file chooser 30
  • 42. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 31 Fig 5.5 Synchronisation of files with in server and devices 31
  • 43. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 32 5.4 Module 4:- Development of Android Application Requirements: 1. An RitZBoX_setup.apk file fir android user installation 2. User should be able to choose files from list of files in SD Card and upload files from SD Card to the server 3. The user should be able to download files from the server Fig 5.6 32
  • 44. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 33 Chapter 6 SNAPSHOTS OF THE PROJECT 6.1 Database Design Table file info Fig 6.1.1 33
  • 45. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 34 User_info_table Fig 6.1.2 34
  • 46. 6.2 Module 2 Web Module(Hosted on local server) RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 35 Home page which contains links to go to various pages of site and form to sign in user Fig 6.2.1 35
  • 47. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 36 z Front page having basic information and user sign in form Fig 6.2.2 36
  • 48. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 37 For Sign Up facility of the new user Fig 6.2.3 Fig 6.2.4 37
  • 49. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 38 After logging in user will be able to upload his files and download or delete uploaded files Fig 6.2.5 38
  • 50. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 39 List of files uploaded and facility to delete or download them from server Fig 6.2.6 39
  • 51. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 40 Public file-sharing blog from which users around the world can upload data Fig 6.2.7 40
  • 52. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 41 Public Blog A Place for discussion with all Fig 6.2.8 41
  • 53. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 42 Advertisement page for revenue collection and business aspects Fig 6.2.9 42
  • 54. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 43 6.3 Desktop module Snapshots The screenshots of the RitZboX’s Desktop application installer Fig 6.3.1 43
  • 55. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 44 authentication with serial numbers during installation Fig 6.3.2 44
  • 56. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 45 Fig 6.3.3 45
  • 57. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 46 Choosing path for installation of RitZboX Fig 6.3.4 46
  • 58. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 47 Fig 6.3.5 47
  • 59. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 48 Fig 6.3.6 48
  • 60. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 49 Choosing RitZboX’s Home Folder when user will use it first time and user verification Fig 6.3.7 Fig 6.3.8 49
  • 61. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 50 Fig 6.3.9 50
  • 62. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 51 Fig 6.3.10 51
  • 63. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 52 6.4 MODULE 4 –Android module Opening of android em Opening and Running the Android Emulator Fig 6.4.1 52
  • 64. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 53 Opening and Running the Android app. on Emulator Fig 6.4.2 53
  • 65. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 54 Opening and Running the Android application and user credentials entry Fig 6.4.3 54
  • 66. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 55 After user credentials verification users are shown options Fig 6.4.4 55
  • 67. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 56 User is shown files for uploading to server and after clicking it is done Fig 6.4.5 56
  • 68. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 57 Chapter 7 SOURCE CODE STRUCTURE 7.1 Web Module Implementation Structure Fig 7.1 shows the structure of project of web module.All classes and programs have properly arranged by use of packages.Programs having similar functionality have been kept in same package for ease of understaing and future maintanance and reuse Web Module Structure Fig 7.1 57
  • 69. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 58 7.2 Desktop Module Implementation Structure Fig 7.2 shows the structure of project of desktop module.All classes and programs have properly arranged by use of packages. Desktop Module Structure Fig 7.2 58
  • 70. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 59 7.3 Android Module Implementation Structure Fig 7.3 shows the structure of project of android module.All classes and programs have properly arranged by use of packages. Android Module Structure Fig 7.3 59
  • 71. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 60 Chapter 8 SOFTWARE TESTING, DEBUGGING AND LIMITATION 8.1 Software Testing Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.[1] Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects). This is a process of validating and verifying that a software program/application/product: 1. Meets the requirements that guided its design and development; 2. Works as expected; and 3. Can be implemented with the same characteristics. 8.1.1 Unit testing Unit testing, also known as component testing, refers to tests that verify the functionality of a specific section of code, usually at the function level. In an object-oriented environment, this is usually at the class level, and the minimal unit tests include the constructors and destructors. We verified every Class and methods for functionality under unit testing. 8.1.2 Integration testing Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together ("big bang"). Normally the former is considered a better practice since it allows interface issues to be localised more quickly and fixed. Under this testing, we integrated the system and the functionality is compared with the software design, And the system performance is checked. Phase 1: Module 1 is tested by integrating all the classes Phase 2: Module 2 is tested by integrating all the classes Phase 3: Module 2 is tested by integrating all the classes 8.1.3 System testing System testing tests a completely integrated system to verify that it meets its requirements. Under this testing strategy, We tested the whole system All the modules integrated in previous phases were tested. 60
  • 72. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 61 8.2 Approaches for Testing 8.2.1 White-box testing White-box testing is when the tester has access to the internal data structures and algorithms including the code that implement these. 8.2.1 Black-box testing Black-box testing treats the software as a "black box"—without any knowledge of internal implementation. Black-box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-based testing. 8.3 Debugging Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Debugging tends to be harder when various subsystems are tightly coupled, as changes in one may cause bugs to emerge in another. Many books have been written about debugging (see below: Further reading), as it involves numerous aspects, including interactive debugging, control flow, integration testing, log files, monitoring (application, system), memory dumps, profiling, Statistical Process Control, and special design tactics to improve detection while simplifying changes. Approaches for debugging applied 8.3.1 Brute force method Bruteforce method is common method but it is least efficient method.In this approach, print statements are inserted throughout the programme. Fig 8.1 61
  • 73. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 62 8.3.2 Backtracking In this approach, beginning from the statement at which an error symptom has been observed , the source code is traced backwards until the error is discovered. it is a fairly common approach. The error is traced from the top to lower hierarchy of the files Fig 8.2 8.4 DDMS Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS), which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more. Using LogCat LogCat is integrated into DDMS, and outputs the messages that we print out using the Log class along with other system messages such as stack traces when exceptions are thrown. View the Reading and Writing Log Messages. topic for more information on how to log messages to the LogCat. When we set up your logging, you can use the LogCat feature of DDMS to filter certain messages with the following buttons: • Verbose • Debug 62
  • 74. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 63 • Info • Warn • Error we can setup our own custom filter to specify more details such as filtering messages with the log tags or with the process id that generated the log message. The add filter, edit filter, and delete filter buttons let you manage your custom filters. Emulating phone operations and location The Emulator control tab lets us simulate a phone's voice and data network status. This is useful when we want to test our application's robustness in differing network environments. Changing network state, speed, and latency The Telephony Status section of the Emulator controls tab lets you change different aspects of the phone's networks status, speed and latency. The following options are available to us and are effective immediately after us set them:  Voice - unregistered, home, roaming, searching, denied  Data - unregistered, home, roaming, searching, denied  Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA  Latency - GPRS, EDGE, UMTS Spoofing calls or SMS text messages The Telephony Actions section of the Emulator controls tab lets us spoof calls and messages. This is useful when you want to to test your application's robustness in responding to incoming calls and messages that are sent to the phone. The following actions are available to you: • Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. • SMS - Enter a number in the Incoming number field and a message in the Message: field and click the Send button to send the message. Setting the location of the phone If your application depends on the location of the phone, you can have DDMS send your device or AVD a mock location. This is useful if you want to test different aspects of your application's location specific features without physically moving. The following geo- location data types are available to us: • Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. • GPX - GPS eXchange file • KML - Keyhole Markup Language file 63
  • 75. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 64 Chapter 9 Gantt Chart Gantt Charts (Gant Charts) are useful tools for analyzing and planning more complex projects. They: • Help to plan out the tasks that need to be completed • Give a basis for scheduling when these tasks will be carried out • Allow us to plan the allocation of resources needed to complete the project, and • Help us to work out the critical path for a project where you must complete it by a particular date. When a project is under way, Gantt Charts help us to monitor whether the project is on schedule. If it is not, it allows you to pinpoint the remedial action necessary to put it back on schedule. Sequential and parallel activities: An essential concept behind project planning (and Critical Path Analysis) is that some activities are dependent on other activities being completed first. As a shallow example, it is not a good idea to start building a bridge before we have designed it! These dependent activities need to be completed in a sequence, with each stage being more- or-less completed before the next activity can begin. We can call dependent activities 'sequential' or 'linear'. Other activities are not dependent on completion of any other tasks. These may be done at any time before or after a particular stage is reached. These are nondependent or 'parallel' tasks. 64
  • 76. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 65 9.1Task table showing the tasks of the project Fig 9.1 65
  • 77. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 66 9.2 Only Gantt chart with weekly reporting Only Gantt chart with weekly reporting Fig 9.2 66
  • 78. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 67 9.3 Gantt Chart with task table Gantt Chart with task table Fig 9.3 67
  • 79. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 68 Chapter 10 BUSINESS ASPECT, SECURITY AND MISCELLANEOUS FEATURES Technological project comes to market only after having a sound business plan, as the developer needs bread and butter from the system so a project should be well modelled according to financial planning of the developer. Different Features makes the project ornamental and add-ons are better way of maintaining the project as well as it grabs user’s interest as the newer version released on market. 10.1 Business Aspects Review The project is designed to give us more benefit from every source. Several business strategies have been used to develop this project as commercial product. 68
  • 80. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 69 We have used several product taglines like :  Now Your Data Will Follow You  You are now free to move around the World ......  Now Enjoy World's Public Data ... Competitor on present market: Identification of competitors in the market is an important step for Entrepreneurship in order to identify and develop a unique feature to our product to compete with the existing firms. We have identified several competitor companies which provide similar facility to user for file storage and backup. Google-docs by google Inc, Dropbox , BoxNet Sources of income of our project: 10.1.1 Financial study related to each module Web-module : • The Google AdSense is used for displaying Advertisings • The Traffic to Website will give good revenue • While uploading we will show the video on our Business partner/client Android Application: • Android business has 3 ways • Downloading cost of the application can give us revenue • The Advertisings during downloading application will give us revenue • An image(Advertisings) during uploading and downloading will give us a good revenue 10.1.2 Freemium model: • The basic user will be given 5Gb free space. • The users will be given as referral ids 69
  • 81. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 70 • For every successful reference and user signup user will get another 500mbs • For more then 50Gb requirement user qill get an VIP membership 10.2 Security: • As the files stored on server and it is on Ubuntu,So the files are encrypted • The desktop module is secure as the connection is through URI • The SQLinjection may take place as SQL is used in web module but every step is taken to not allow SQL injection. • Android is secure as digital signature and shared preferences are used • Asking the password every-time of uploading file and association of username-file makes it more secure 10.3 GPS location services • The GPS location services are used on Android Devices • GPS provides more Security to files • GPS can be used for anomaly on files by Hackers 70
  • 82. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 71 Chapter 11 CONCLUSION AND FUTURE SCOPE Our project has reached the milestone as we designed to meet the requirements, The Desktop Application comes as Setup file, Website provides user friendly interface for users and Android application is in Good working conditions. The primary goal of this project is to give an idea about file synchronization among android mobile and desktop with web server. This project has given us an depth information about java technology , j2ee and ANDROID technology and its applications in day today life. This project offers several benefits due to the use of simple and easy to understand interface. This project is developed using java and android platform ,which is easy to read, learn, scales well, performs well for being interpreted, and is incredibly well- documented. As the final result meet to our expectation of File sharing and File synchronisation. We are expecting to bring this project to market with real-time cloud file sharing platform. The file sharing application and the platform is ready. Future Scope • The system is to be modified for better traffic control • The System Cloud should be of larger size • The Encryption of connection should be done • The desktop application should be modified for slower bandwidth • The Android application should be made useful for Slower connection 71
  • 83. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 72 References: 1.Write to java certification by khalid maughal 2 http://owncloud.org/support/setup-and- installation/windows-server/ 3. http://android-developers.blogspot.in/ 4. http://en.wikipedia.org/wiki/Cloud_database 5. youtube.com/marakaNAtv 6.http://www.ibm.com/developerworks/aix/library/au-cloud_apache/ 7.http://www.computerworld.com/s/article/66405/Processes_and_Threads 8.Thinking in Java by Bruce Eckel 72
  • 84. RitZBoX: A File Synchronizing and Sharing Application Using Desktop, Android App. And Web Interface 73 73
  • 85. MODULE 2 (WEB MODULE) CODES….
  • 86. Web Module Java Class ConnectionPool.java 1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package com.ritzbox; 6 7 import java.io.FileInputStream; 8 import java.io.IOException; 9 import java.io.InputStream; 10 import java.sql.*; 11 import java.util.*; 12 import java.util.logging.Level; 13 import java.util.logging.Logger; 14 15 public class ConnectionPool { 16 17 static Vector connections = null; 18 static ConnectionPool instance = new ConnectionPool(); 19 20 public synchronized void removeAllConnections() { 21 try { 22 if (connections == null) { 23 return; 24 } 25 int sz = connections.size(); 26 for (int i = 0; i < sz; i++) { 27 Connection c = (Connection) connections.elementAt(i); 1