SlideShare a Scribd company logo
1 of 16
REST API for Document
Viewing
Team 23
Aditya Chattopadhyay 201264201
Alok Thatikunta 201264197
Abhishek Saban 201405601
Outline
 Introduction
 Design
 Approach
 References
Introduction
 This Product allows you to access documents directly on our server and
modify them!
 All functionalities are exposed via a REST-API allowing an efficient command-
line interface for users to upload & manipulate their documents.
 This technology can be easily integrated with cloud providers for embedding
documents and annotations on the fly, without the user having to explicitly
download them, make changes and then re-upload.
Outline
 Introduction
 Design
 Approach
 References
Architectural Design
Sequence Diagrams of Functionalities
User Handling
Sequence Diagrams of Functionalities
File Upload/Delete/Rename/Download
Sequence Diagrams of Functionalities
File Edit/Annotate
Sequence Diagrams of Functionalities
File Restore (Versioning)
The REST-API
 A REST-API which exposes each of the above described functionalities (via
sequence diagrams).
 Each user can only access his/her own files (restricted user access).
 Two separate databases maintained – a User DB for registered users and a File
DB which has a foreign key username from User DB.
 The user has to pass authentication tokens with each API call, to ensure that
he/she can only access resources belonging to him/her.
Outline
 Introduction
 Design
 Approach
 References
Technologies Used
 Python based web framework (Flask) was used for rapid development.
 SQLite database was used for testing purposes this can be easily replaced with
a more suited noSQL database or graph database (Neo4J).
 Other third-party python libraries used - python packages: flask, flask_wtf,
wtforms, pdfminer, fdpf.
 Currently two types of files are supported – pdf & txt.
 Two modes of accessing the functionalities of our product – web interface &
REST API
Functionalities
 Register & Login – Maintains a database of all the users and files associated
with them.
 Upload – Users can upload pdf/text documents onto our servers.
 View – They can either directly view the uploaded document or a text version
of it (through the REST-API).
 List – Lists all the files belonging to a user.
 Delete – Users can delete their files.
 Edit – Users can choose to edit documents online and save them without
having to download them on their local machines. Currently pdf documents
are converted to text, edited and saved as a pdf. Due to this formatting such
as font-size, bold, italics etc. are lost!
Functionalities
 Rename – Users can rename files on our server, this is also updated in out file
database which maps each file to its respective owner.
 Restore - Each time a user edits his/her file a backup copy of the previous
version is stored on the server. The user can always restore the immediate
previous version of their file in-case something goes wrong with their editing.
Outline
 Introduction
 Design
 Approach
 References
References
 Code and Documentation on GitHub -
https://github.com/darkwrath/Cloud_Docspad
 Slides on Slideshare -
http://www.slideshare.net/adityachattopadhyay5/docspad-55388674
 Demo Video on Youtube Channel -
https://www.youtube.com/user/adityababiblue/videos

More Related Content

What's hot

Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questionsgummadi1
 
WebSphere Application Server
WebSphere Application ServerWebSphere Application Server
WebSphere Application ServerNishant Mevawala
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5IBM WebSphereIndia
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...Nancy Thomas
 
IBM Websphere concepts
IBM Websphere conceptsIBM Websphere concepts
IBM Websphere conceptsKuldeep Saxena
 
Mule Concur Connector
Mule Concur ConnectorMule Concur Connector
Mule Concur ConnectorAnkush Sharma
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule EsbAnand kalla
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7Chris Sparshott
 
Mulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductionMulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductiongijish
 
Implementing an Esb using Mule
Implementing an Esb using MuleImplementing an Esb using Mule
Implementing an Esb using MuleAbdulImrankhan7
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersShubham Gupta
 
Features of Mule SAP Connector
Features of Mule SAP ConnectorFeatures of Mule SAP Connector
Features of Mule SAP ConnectorSanjeet Pandey
 
Presentation2
Presentation2Presentation2
Presentation2JAYAARC
 
What's new in Rational change 5.2
What's new in Rational change 5.2What's new in Rational change 5.2
What's new in Rational change 5.2Manageware
 
Oracle apps file system
Oracle apps file systemOracle apps file system
Oracle apps file systemVivek Verma
 

What's hot (20)

Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
 
WebSphere Application Server
WebSphere Application ServerWebSphere Application Server
WebSphere Application Server
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
 
Ns was-resume
Ns was-resumeNs was-resume
Ns was-resume
 
IBM Websphere concepts
IBM Websphere conceptsIBM Websphere concepts
IBM Websphere concepts
 
Mule Concur Connector
Mule Concur ConnectorMule Concur Connector
Mule Concur Connector
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
 
Mulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductionMulesoft Anypoint platform introduction
Mulesoft Anypoint platform introduction
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
Implementing an Esb using Mule
Implementing an Esb using MuleImplementing an Esb using Mule
Implementing an Esb using Mule
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
 
Mule esb presentation
Mule esb presentationMule esb presentation
Mule esb presentation
 
Features of Mule SAP Connector
Features of Mule SAP ConnectorFeatures of Mule SAP Connector
Features of Mule SAP Connector
 
Presentation2
Presentation2Presentation2
Presentation2
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
 
Muleesb
MuleesbMuleesb
Muleesb
 
What's new in Rational change 5.2
What's new in Rational change 5.2What's new in Rational change 5.2
What's new in Rational change 5.2
 
Oracle apps file system
Oracle apps file systemOracle apps file system
Oracle apps file system
 

Similar to Docspad

OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONSUMIT KUMAR
 
Project archive what to do with those projects that have completed or place...
Project archive   what to do with those projects that have completed or place...Project archive   what to do with those projects that have completed or place...
Project archive what to do with those projects that have completed or place...p6academy
 
Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content ManagementEnvigeek
 
FrontFlow New Release Version
FrontFlow New Release VersionFrontFlow New Release Version
FrontFlow New Release Versiontne
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET Journal
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File TransferPerforce
 
Microsoft Project Server Basics
Microsoft Project Server BasicsMicrosoft Project Server Basics
Microsoft Project Server BasicsMandar Risbud
 
Case Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoCase Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoForgeRock
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and Beyondguest1243d91
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and BeyondWANdisco Plc
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end toolMark Arangcon
 
01 DocPublisher at a Glance
01 DocPublisher at a Glance01 DocPublisher at a Glance
01 DocPublisher at a GlanceSWING Software
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsSrdjan Strbanovic
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherPavan Kumar
 
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to Automation
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to AutomationPlunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to Automation
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to AutomationPlunet BusinessManager
 

Similar to Docspad (20)

OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
Project archive what to do with those projects that have completed or place...
Project archive   what to do with those projects that have completed or place...Project archive   what to do with those projects that have completed or place...
Project archive what to do with those projects that have completed or place...
 
Major ppt
Major pptMajor ppt
Major ppt
 
Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Management
 
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
New Enhancements + Upgrade Path to Oracle EBS R12.1.3New Enhancements + Upgrade Path to Oracle EBS R12.1.3
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
 
FrontFlow New Release Version
FrontFlow New Release VersionFrontFlow New Release Version
FrontFlow New Release Version
 
Project seminar
Project seminarProject seminar
Project seminar
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce Site
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Microsoft Project Server Basics
Microsoft Project Server BasicsMicrosoft Project Server Basics
Microsoft Project Server Basics
 
Case Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoCase Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San Francisco
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and Beyond
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and Beyond
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end tool
 
01 DocPublisher at a Glance
01 DocPublisher at a Glance01 DocPublisher at a Glance
01 DocPublisher at a Glance
 
Lab 1 husna pozi kmpk
Lab 1 husna pozi kmpkLab 1 husna pozi kmpk
Lab 1 husna pozi kmpk
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion Aether
 
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to Automation
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to AutomationPlunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to Automation
Plunet Summit 2018: Plunet 7.3 Unboxed! From Refactoring to Automation
 

Recently uploaded

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Docspad

  • 1. REST API for Document Viewing Team 23 Aditya Chattopadhyay 201264201 Alok Thatikunta 201264197 Abhishek Saban 201405601
  • 2. Outline  Introduction  Design  Approach  References
  • 3. Introduction  This Product allows you to access documents directly on our server and modify them!  All functionalities are exposed via a REST-API allowing an efficient command- line interface for users to upload & manipulate their documents.  This technology can be easily integrated with cloud providers for embedding documents and annotations on the fly, without the user having to explicitly download them, make changes and then re-upload.
  • 4. Outline  Introduction  Design  Approach  References
  • 6. Sequence Diagrams of Functionalities User Handling
  • 7. Sequence Diagrams of Functionalities File Upload/Delete/Rename/Download
  • 8. Sequence Diagrams of Functionalities File Edit/Annotate
  • 9. Sequence Diagrams of Functionalities File Restore (Versioning)
  • 10. The REST-API  A REST-API which exposes each of the above described functionalities (via sequence diagrams).  Each user can only access his/her own files (restricted user access).  Two separate databases maintained – a User DB for registered users and a File DB which has a foreign key username from User DB.  The user has to pass authentication tokens with each API call, to ensure that he/she can only access resources belonging to him/her.
  • 11. Outline  Introduction  Design  Approach  References
  • 12. Technologies Used  Python based web framework (Flask) was used for rapid development.  SQLite database was used for testing purposes this can be easily replaced with a more suited noSQL database or graph database (Neo4J).  Other third-party python libraries used - python packages: flask, flask_wtf, wtforms, pdfminer, fdpf.  Currently two types of files are supported – pdf & txt.  Two modes of accessing the functionalities of our product – web interface & REST API
  • 13. Functionalities  Register & Login – Maintains a database of all the users and files associated with them.  Upload – Users can upload pdf/text documents onto our servers.  View – They can either directly view the uploaded document or a text version of it (through the REST-API).  List – Lists all the files belonging to a user.  Delete – Users can delete their files.  Edit – Users can choose to edit documents online and save them without having to download them on their local machines. Currently pdf documents are converted to text, edited and saved as a pdf. Due to this formatting such as font-size, bold, italics etc. are lost!
  • 14. Functionalities  Rename – Users can rename files on our server, this is also updated in out file database which maps each file to its respective owner.  Restore - Each time a user edits his/her file a backup copy of the previous version is stored on the server. The user can always restore the immediate previous version of their file in-case something goes wrong with their editing.
  • 15. Outline  Introduction  Design  Approach  References
  • 16. References  Code and Documentation on GitHub - https://github.com/darkwrath/Cloud_Docspad  Slides on Slideshare - http://www.slideshare.net/adityachattopadhyay5/docspad-55388674  Demo Video on Youtube Channel - https://www.youtube.com/user/adityababiblue/videos