DESIGN AND IMPLEMENTATION OF AN ONLINE FILE SHARING SYSTEM

5,000.00

 

TABLE OF CONTENT

Title Page                                                                                                                                i

Certification                                                                                                                            ii

Dedication                                                                                                                              iii

Acknowledgement                                                                                                                  iv

Table of content                                                                                                                      v – vi

Abstract                                                                                                                                  vii

CHAPTER ONE

INTRODUCTION

  •     INTRODUCTION                                                                                                        1 – 3
  • PROBLEM STATEMENT                                                                                        2 – 3
  • OBJECTIVES                                      3
  • SCOPE OF THE PROJECT WORK 3
  • DOCUMENT OVERVIEW 4

CHAPTER TWO

LITERATURE REVIEW

2.0       INTRODUCTION                                                                                                     5-6

  •      TYPES OF FILE NETWORKS                                                                                6-7
  •      STRUCTURED FILE SHARING                                                                            7-8
  •      HYBRID P2P SYSTEMS                                                                                          8
  •      FILE SHARING SYSTEM                                                                                       8-11
  •     OVERLAY NETWORK                                                                                           12-14
  •      THE LIMITATION OF P2P SYSTEM                                                                     14

CHAPTER THREE

RESEARCH METHODOLOGY

3.0       INTRODUCTION                                                                                                     15

3.1       THESIS BACKGROUND                                                                                         15-16

3.2       GENERAL OVERVIEW OF THE EXISTING SYSTEM                                      16 – 23

3.3       SYSTEM ANALYSIS                                                                                                  24 – 25

3.4       SYSTEM ARCHITECHTURE                                                                                     25

 

 

CHAPTER FOUR

SYSTEM DESIGN AND IMPLEMENTATION

4.0       SYSTEM IMPLEMENTATION                                                                               26

4.1       SYSTEM SPECIFICATION                                                                                     26

4.2       DATABASE SCREENSHOT                                                                                   27 – 29

4.3       DISPLAY OF GRAPHICAL USER INTERFACE                                                 29  – 32

 

CHAPTER FIVE

SUMMARY, CONCLUSION AND RECOMMENDATION

5.0       SUMMARY                                                                                                               39

5.1       CONCLUSION                                                                                                         39

5.2       RECOMMENDATION                                                                                             39 – 40

REFERENCES

 

APPENDIX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CHAPTER ONE

  • INTRODUCTION

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. It allows developers unparalleled freedoms to create varied and interesting applications. Based on the Java programming language, it is touted as being easy to pick up and master, whilst the underlying is a modified Linux kernel. Some of Android’s biggest draws for developers include the relative simplicity of developing using Java syntax, which means quickly producing applications. Also, Android provides easy yet
secure access to first and third party applications, allowing deeper integration between components in different programs, and encourages software sharing and reuse. The user interface can be built quickly and simply through XML or graphically, and once an application has been finished it can be submitted to Android market, a portal through which developers can make their creations available to Android users, either free or for profit.

Also, there is an idea of on-the-fly scalability, that machines can join and leave the cloud as required. One definition of cloud computing is that of a pool of computational resources, linked together to provide a greater processing power. These are projects which involve supporters installing software on computers at home, which connect, when idle, to their respective clouds over the internet and compute small parts of complex scientific calculations. Another use of the term is to provide some form of data syncing.

One more idea of cloud computing is that of peer-to-peer systems. This form has been used for many years for file sharing, recently implemented for services such as Skype. These services reduce load on their servers by passing data directly from user to user. Java is a general-purpose, concurrent, class-based, object-oriented computer programming 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 applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2012, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users.
Java was 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 it has fewer low-level facilities than either of them.

1.2       Aim and Objectives of the study

This project aims to design an application that is necessary for organization members when they need to operate online and access files. Project scope from user perspective, limits the range of users to only those who have internet connection and have an account in hand. The system can be adapted to a range of files from small to large. Project scope includes facilities for users to upload files online and can download files, who don’t have account can view the notifications. The aim of this project is to promote a user-friendly, efficient, safe way for users to upload and download files without being physically present at organization.

1.3       Problem Statement

Online File Sharing is practice of sharing files among different users across the Internet. Common forms of file sharing are FTP (File Transfer Protocol) model and P2P (Peer-to-Peer) file sharing network. Another common form of sharing files over the Internet is for a user to upload files to a website and allow other users to download them from the website. There are a lot of issues to consider when developing such a website.

Users of an online file sharing website who use features like upload, download, share, search etc would want a website that is very interactive and fast and not annoying with a lot of post backs and flashing screens. Another issue is the visualization of their file system where usually users have a limit to upload files. The normal web based file folder view would be good, but if there are other types of visualizations it would be great.

Another important issue to consider is the location where the website stores the uploaded files. Two places where one can store the uploaded files are Database and Server.

 

1.4       Document Overview

The rest of this documentation first discusses related work in Chapter 2, and then describes the implementation details of the website in Chapter 3. Chapter 4 describes the different visualizations designed and the advantages of having such visualizations. Chapter 5 presents the results obtained when storing files in database and storing files in the file system, and discusses the pros and cons of both techniques by analyzing them. Chapter 6 presents the conclusions and describes future wor