[
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contribution Guidelines\n\nGot a great resource that isn't listed? Create a PR and I'll review it for inclusion.\n\nOrganization suggestions are also welcome for discussions.\n"
  },
  {
    "path": "README.md",
    "content": "<p>\n  <br>\n  <img width=\"300\" src=\"https://rawgit.com/quangv/awesome-couchdb/master/logo--couch.png\" alt=\"awesome couchdb logo\">\n  <br>\n</p>\n\n# Awesome CouchDB [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n> A curated meta resources & best practices list for CouchDB.\n\n**[CouchDB](http://couchdb.apache.org/)** is a document-oriented NoSQL database that syncs.\n\nPull-Requests are welcomed.\n\n## Contents\n- [News & Blog Posts](#news--blog-posts)\n- [Patterns & Best Practices](#patterns--best-practices)\n  - [Map/Reduce](#mapreduce)\n  - [Joins](#joins)\n  - [Document Versioning](#document-versioning)\n- [Blogs](#blogs)\n- [Docs](#docs)\n- [Books](#books)\n- [Videos](#videos)\n- [Libraries](#libraries)\n- [Community](#community)\n  - [Mailing List](#mailing-list)\n  - [Companies](#companies)\n    - [Hosting](#hosting)\n  - [Related Projects](#related-projects)\n- [Misc/Technical](#misctechnical)\n  - [Attachments](#attachments)\n  - [Backups](#backups)\n  - [CouchApps](#couchapps)\n  - [Scaling](#scaling)\n- [Resource Lists](#resource-lists)\n- [License](#license)\n\n## News & Blog Posts\n\n- [MiniCouchDB in Rust](https://www.garrensmith.com/blogs/mini-couch-hack-week)\n- [The Road to CouchDB 3.0: Prepare for 4.0](https://blog.couchdb.org/2020/02/26/the-road-to-couchdb-3-0-prepare-for-4-0/) _(02-26-2020)_\n\n## Patterns & Best Practices\n\n- [Best Practices](http://ehealthafrica.github.io/couchdb-best-practices/) - Best Practices, eHealth Africa.\n- [Pagination strategies with PouchDB ](https://pouchdb.com/2014/04/14/pagination-strategies-with-pouchdb.html)\n- [12 pro tips for better code with PouchDB](https://pouchdb.com/2014/06/17/12-pro-tips-for-better-code-with-pouchdb.html)\n- [Linux tuning for better CouchDB performance](https://github.com/assafmo/couchdb-linux-performance)\n\n\n### Map/Reduce\n\n- [PouchDB - Secondary Indexes](https://pouchdb.com/2014/05/01/secondary-indexes-have-landed-in-pouchdb.html)\n- [Cloudant - MapReduce Primer](https://cloudant.com/blog/mapreduce-from-the-basics-to-the-actually-useful/#.WIDBfRsrKUl) - Great intro on reduce, group, group_level.\n- [Using View Collation](http://docs.couchdb.org/en/2.0.0/couchapp/views/joins.html#using-view-collation) - Index mapping (emits) for data joins.\n- [Views Collation](http://docs.couchdb.org/en/2.0.0/couchapp/views/collation.html) - More documentation on \"View Collation\".\n- [Cloudant - MapReduce and the Secondary Index (Video)](https://developer.ibm.com/clouddataservices/docs/cloudant/get-started/mapreduce-and-the-secondary-index/) - Great videos here on mapReduce, secondary indexes, and complex keys.\n- [Cloudant - Design Documents](https://docs.cloudant.com/design_documents.html) - Cloudant's documentation is also great resource for learning concepts of CouchDB.\n- [Cloudant - Design Document Management](https://docs.cloudant.com/design_document_management.html) - How to manage design doc changes in production.\n\n\n### Joins\n\n- [Joins with Views](http://docs.couchdb.org/en/2.0.0/couchapp/views/joins.html#joins-with-views) - Must read for understanding approach on doing efficient joins for CouchDB/PouchDB.\n- [Grouping related documents together in Cloudant](https://docs.cloudant.com/transactions.html) - An approach that leverages CouchDB high availability nature.\n\n\n### Document Versioning\n\n- [Document Revisions (from wiki)](https://wiki.apache.org/couchdb/Document_revisions?action=show&redirect=DocumentRevisions)\n- [Simple Document Versioning](http://web.archive.org/web/20100701165612/http://blog.couch.io/post/632718824/simple-document-versioning-with-couchdb)\n\n\n## Blogs\n\n- [Official Blog](https://blog.couchdb.org/)\n\n\n## Docs\n\n- [Official Docs](http://docs.couchdb.org/)\n- [FAQ (old wiki)](https://wiki.apache.org/couchdb/Frequently_asked_questions) - Seems to have more faqs than the [new wiki](https://cwiki.apache.org/confluence/display/COUCHDB/Frequently+Asked+Questions).\n\n## Books\n\n- [The Definitive Guide](http://guide.couchdb.org/) - CouchDB's _\"Dog\"_ Book.\n- [List of books on the Wiki](https://cwiki.apache.org/confluence/display/COUCHDB/Books)\n\n\n## Videos\n\n- [10 Common Misconceptions](https://www.youtube.com/watch?v=BKQ9kXKoHS810) - More videos from this [conference](http://conf.couchdb.org/).\n- [The NoSQL Tapes](http://nosqltapes.com) - CouchDB is discussed on [Volume 5 - CouchDB](http://nosqltapes.com/video/hoffman-and-kocoloski-on-cloudant-and-couchdb), [Volume 8 - MapReduce](http://nosqltapes.com/video/understanding-mapreduce-with-mike-miller).\n- [Scaling Out with BigCouch](http://www.oreilly.com/pub/e/1760) - O'Reilly video on scaling out with BigCouch.\n- [IBM - The New Builders Webinar Series](https://event.on24.com/eventRegistration/EventLobbyServlet?target=reg20.jsp&partnerref=cdc&eventid=1240121&sessionid=1&key=9E23B44802902EAD0BB2603F0434742E&regTag=35370&sourcepage=register)\n\n## Libraries\n\n- [Jaki](https://github.com/pandeiro/jaki) - A simple ClojureScript CouchDB client\n\n## Community\n\n- [IRC](http://webchat.freenode.net/?channels=couchdb) - `irc://irc.freenode.net/couchdb`\n- [Apache CouchDB Conf](http://conf.couchdb.org/) - Lots of video links.\n- [Bylaws](http://couchdb.apache.org/bylaws.html), [Minutes](https://whimsy.apache.org/board/minutes/CouchDB.html)\n\n\n### Mailing List\n\n> -dev is where developers of couchdb chat, -user is where users of couchdb chat\n> and there's some crosstalk ofc\n> -dev is appropriate if you're talking about changes to couchdb itself (\"developer\" doesn't mean you have to have a commit bit or anything) -rnewson\n\n- [Mailing Lists](https://mail-archives.apache.org/mod_mbox/#couchdb)\n- [Mailing Lists Description](http://svn.apache.org/repos/asf/couchdb/site/htdocs/community/lists.html?p=900000)\n- [Grokbase](http://grokbase.com/s/couchdb) - Mailing lists in a [Stack Overflow](http://stackoverflow.com/questions/tagged/couchdb)-like interface.\n\n\n[:star2:**The** ***Amazing*** **CouchDB Committers** *and* **Project Managers** :heart_eyes_cat:](http://people.apache.org/committers-by-project.html#couchdb) \n\n\n### Companies\n\n- [eHealth Africa](https://github.com/eHealthAfrica) - Big user of CouchDB, check out their [best practices](https://github.com/eHealthAfrica/couchdb-best-practices).\n\n\n#### Hosting\n\n- [Cloudant](https://cloudant.com/) - Distributed database as a service (DBaaS).\n- [Fly.io](https://fly.io) use this [Guide](https://www.canrau.com/en/fly-couchdb) to host\n- [Bitnami Launchpad for Google Cloud Platform](https://bitnami.com/stack/couchdb/cloud/google) - Host CouchDB on Google Cloud Platform.\n\n\n### Related Projects\n\n- [PouchDB](https://pouchdb.com/) - A pocket-sized database.\n- [FoundationDB](https://www.foundationdb.org/) - CouchDB 4.0 will utilize FoundationDB.\n- [Hoodie](http://hood.ie/) - A backend for Offline First applications.\n- [Couchbase](https://www.couchbase.com/) - NoSQL database.\n  - [Migrating from Apache CouchDB](https://docs.couchbase.com/server/current/install/migrate-couchdb.html) - Comparison of CouchDB and CouchBase\n- [RxDB](https://rxdb.info/) - NoSQL-database for JavaScript Applications. RxDB provides modules for realtime replication with any CouchDB compliant endpoint and also with custom GraphQL endpoints.\n\n\n## Misc/Technical\n\n- [Dynamo and CouchDB Clusters](https://web.archive.org/web/20160311144130/https://cloudant.com/blog/dynamo-and-couchdb-clusters/#.WIEp4xsrKUk) - Article about scaling CouchDB, using clusters.\n- [Google’s paper on Sawzall](http://research.google.com/archive/sawzall.html) - Exotic Reductions Examples.\n- [What Every Developer Should Know About CouchDB](http://www.dimagi.com/blog/what-every-developer-should-know-about-couchdb/) - Article about lessons learned.\n- [CouchDB Maximum Database Size](http://www.nosql.se/2011/09/couchdb-maximum-database-size/)\n- [NOSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)\n- [Persistent Trees in git, Clojure and CouchDB](https://eclipsesource.com/blogs/2009/12/13/persistent-trees-in-git-clojure-and-couchdb-data-structure-convergence/)\n- [CouchDB - JSON and B-trees and REST, oh my!](https://pozorvlak.livejournal.com/176385.html)\n\n### Attachments\n\n- [PouchDB - Attachments are overrated](https://pouchdb.com/2014/06/17/12-pro-tips-for-better-code-with-pouchdb.html) - _\"Update: since this post was written, the stability and performance of attachments in PouchDB has greatly improved. ...\"_\n- [Cloudant - Attachments Performance Considerations](https://docs.cloudant.com/attachments.html#performance-considerations)\n- [Are attachments duplicated for each revision?](http://grokbase.com/t/couchdb/user/14a1phbzrb/are-attachments-duplicated-for-each-revision-as-well) - Mailing list discussion about attachments across revisions.\n\n\n### Backups\n\n- [Simple CouchDB and Cloudant Backup](https://developer.ibm.com/clouddataservices/2016/03/22/simple-couchdb-and-cloudant-backup/) - Article on IBM about backups.\n- [Cloudant Backup Guide](https://docs.cloudant.com/backup-guide.html) - Cloudant docs on backups.\n\n\n### CouchApps\n\n- [List of CouchApps](https://couchapp.readthedocs.io/en/latest/user/list-of-couchapps.html)\n- [Ddoc Lab](http://ddoc.me/) - Create couchapps and CouchDB design docs right in your browser.\n\n\n### Scaling\n\n- [Bitnami CouchDB](https://bitnami.com/stack/couchdb) - Bitnami makes it easy to run CouchDB in the cloud.\n\n\n## Resource Lists\n\n- [Official CouchDB Wiki](https://cwiki.apache.org/confluence/display/COUCHDB/Apache+CouchDB+Wiki)\n- [Official CouchDB Wiki (old)](https://wiki.apache.org/couchdb/) - Some things aren't on new wiki yet.\n- [Cloudant Official Guides](https://docs.cloudant.com/guides.html) - Applicable to CouchDB.\n- [List of CouchDB Clients](https://cwiki.apache.org/confluence/display/COUCHDB/CouchDB+clients)\n- [List of CouchDB Useful Utilities](https://cwiki.apache.org/confluence/display/COUCHDB/Useful+utilities)\n- [Old Wiki's Related Projects List](https://wiki.apache.org/couchdb/Related_Projects)\n\n## License\n<a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"><img alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by.svg\" /></a><br />This work is licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\">Creative Commons Attribution 4.0 International License</a>.\n"
  }
]