+1 -1 +3
Vote on this proposal

Building a Dropbox clone with Python

by Dushyant Bansal (speaking)

Section
Software Development Tools
Session type
Tutorial
Technical level
Beginner

Objective

Even though dropbox offers a lot more features, backup and file synchronization remain the core services. The objective of this session will be to teach/guide you to write a file synchronization and backup application from scratch

Over last couple of years, lots of File synchronization applications have come into the market, the most popular being 'dropbox'. As these products have matured, the technology/architecture behind these enterprise level applications have become complex.

But, building a simple application for personal use is not that hard, thanks to the python ecosystem and availability of lots of third party tools. And, the process is fun too.

Description

PySyncIt will be used as reference project: https://github.com/db42/PySyncIt

This session will go step-by-step and touch these aspects:

  1. Definining a minimum desirable product and get started
    • define the basic use cases that you want to cover
    • precautions: open/close principle
  2. Deciding the application architecture
  3. Right tools for the job
    • Interaction with user
    • Persistence
    • Logging - serving many purposes
    • Collaboration and version-control
  4. Coding practices
    • For your own good
    • For others

Speaker bio

Dushyant is a software developer at directi during the day. Passionate about programming, python is his language of choice for hobby projects. These days, he can be found experimenting with javascript.

In his previous life at IIT Delhi, he was actively involved in research work on operating systems. This interest arose from, and lead to his master's thesis which mainly focussed on virtualization.

Comments


  • 1

    [-] Anand B Pillai 911 days ago

    Hi Dushyanth, Is this a talk on PySyncIt ? The outline looks very generic.


  • 1

    [-] Dushyant Bansal 910 days ago

    @Anand, I got lost in defining the tutorial's objective - thanks for pointing it out. I have corrected the details.

Login with Twitter or Google to leave a comment →