SlideShare a Scribd company logo
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 Questions
gummadi1
 
WebSphere Application Server
WebSphere Application ServerWebSphere Application Server
WebSphere Application Server
Nishant Mevawala
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5
IBM 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
 
Ns was-resume
Ns was-resumeNs was-resume
Ns was-resume
Narasimhulu Jangli
 
IBM Websphere concepts
IBM Websphere conceptsIBM Websphere concepts
IBM Websphere concepts
Kuldeep Saxena
 
Mule Concur Connector
Mule Concur ConnectorMule Concur Connector
Mule Concur Connector
Ankush Sharma
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
Anand kalla
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
Chris Sparshott
 
Mulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductionMulesoft Anypoint platform introduction
Mulesoft Anypoint platform introduction
gijish
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
Binu Bhasuran
 
Implementing an Esb using Mule
Implementing an Esb using MuleImplementing an Esb using Mule
Implementing an Esb using Mule
AbdulImrankhan7
 
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
Shubham Gupta
 
Mule esb presentation
Mule esb presentationMule esb presentation
Mule esb presentation
Lakshmi Prasanna Mavillapalli
 
Features of Mule SAP Connector
Features of Mule SAP ConnectorFeatures of Mule SAP Connector
Features of Mule SAP Connector
Sanjeet Pandey
 
Presentation2
Presentation2Presentation2
Presentation2
JAYAARC
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
Sriramkumar Kandasamy
 
Muleesb
MuleesbMuleesb
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
Manageware
 
Oracle apps file system
Oracle apps file systemOracle apps file system
Oracle apps file system
Vivek 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 ADMINISTRATION
SUMIT 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
 
Major ppt
Major pptMajor ppt
Major ppt
Mohit Sandal
 
Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Management
Envigeek
 
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
iWare Logic Technologies Pvt. Ltd.
 
FrontFlow New Release Version
FrontFlow New Release VersionFrontFlow New Release Version
FrontFlow New Release Version
tne
 
Project seminar
Project seminarProject seminar
Project seminar
Kuldeep Jain
 
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
IRJET 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 Transfer
Perforce
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
Noushad Kabeer
 
Microsoft Project Server Basics
Microsoft Project Server BasicsMicrosoft Project Server Basics
Microsoft Project Server Basics
Mandar 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 Francisco
ForgeRock
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and Beyond
guest1243d91
 
Subversion in 2010 and Beyond
Subversion in 2010 and BeyondSubversion in 2010 and Beyond
Subversion in 2010 and Beyond
WANdisco 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 tool
Mark Arangcon
 
01 DocPublisher at a Glance
01 DocPublisher at a Glance01 DocPublisher at a Glance
01 DocPublisher at a Glance
SWING Software
 
Lab 1 husna pozi kmpk
Lab 1 husna pozi kmpkLab 1 husna pozi kmpk
Lab 1 husna pozi kmpk
baharudin wahab
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
Srdjan 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 Aether
Pavan 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 Automation
Plunet 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

Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
ImMuslim
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
heathfieldcps1
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapitolTechU
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
shreyassri1208
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
EduSkills OECD
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Kalna College
 
Juneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School DistrictJuneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School District
David Douglas School District
 
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
Payaamvohra1
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
Steve Thomason
 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
danielkiash986
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
Kalna College
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
Mohammad Al-Dhahabi
 
How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17
Celine George
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
zuzanka
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
giancarloi8888
 
How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
Celine George
 
MDP on air pollution of class 8 year 2024-2025
MDP on air pollution of class 8 year 2024-2025MDP on air pollution of class 8 year 2024-2025
MDP on air pollution of class 8 year 2024-2025
khuleseema60
 

Recently uploaded (20)

Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
 
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
Geography as a Discipline Chapter 1 __ Class 11 Geography NCERT _ Class Notes...
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
 
Juneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School DistrictJuneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School District
 
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
 
How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
 
How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
 
MDP on air pollution of class 8 year 2024-2025
MDP on air pollution of class 8 year 2024-2025MDP on air pollution of class 8 year 2024-2025
MDP on air pollution of class 8 year 2024-2025
 

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