Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Overview

PouchDB is a database written in JavaScript for web browsers that has in built sync capabilities.

For a long time 'web' was synonymous with 'online'. That is no longer the case, Mobile web usage is set to overtake desktop web usage shortly and a growing number of examples are showing that web technology is capable of handling the type of applications that were traditionally built using desktop native technology.

The new wave of offline web applications are going to need somewhere to store their data and they are going to need to learn how to move that data around as their user moves from device to device. How about we build a database with that functionality built in?

Objective

PouchDB is an small open source project with a large active community. The first objective is to get familiar with the codebase and more importantly the workflow. This means using Git / Github / CI / TDD, being able to define features and the scope of those features, prioritising which bugs and features need implemented or fixed first and collaborating with other contributors on all of the above.

We are currently tagging some bugs as 'goodfirstpatch', these are the best place to get started, they will have limited and well defined scope and will help you become familiar with the other people working on the project and the workflow. Going forward you will be free to pick up and help define then implement a larger project that you are interested in, Some examples of those projects would be:

  • Improvements to both the PouchDB and CouchDB replication protocol to make replication fast and easy to use.
  • Extend our test runner to make finding bugs and noticing performance regressions easier.
  • Work on pouchdb-server and related projects to create a standalone easy to use server.
  • Write tutorials and related projects to help new users understand and use PouchDB.
  • Build an open source and offline capable parse / firebase alternative.

As a project the objective is a rock solid, reliable and easy to use 1.0 release with an active ecosystem, not all work will be done inside PouchDB core, a lot of the most valuable lives as seperate projects that complement PouchDB / CouchDB.

Requirements

A Web Browser and a text editor is all that is needed, a healthy appreciation of dry humour helps.

Project Success

The ultimate success criteria is world domination with long term contributors who go on to fame and fortune. For the length of this project though we will be aiming to become contributing peers. Whether you decide to fix a long list of bugs or pick off a bigger feature and dive in, By the end of the project you should be comfortable collaborating in an open source environment on both a code and social level.

About Me

My name is Dale Harvey, I work for Mozilla as a developer on the Firefox OS project. In previous lives I worked on Couchbase and CouchDB and remain a contributor to CouchDB. I am partially obsessed with OSS and the open web.

For this project we will be attempting to use public project channels as much as possible. This means IRC for discussion and an issue tracker + mailing list for technical discussion. There will be a dedicated mailing list for students and I will always be available via skype or some other means for one on one questions.

Happy Coding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment