Hacker News new | past | comments | ask | show | jobs | submit login
Delicious Menus With Hatchware and CouchApps on Cloudant (cloudant.com)
22 points by mbroberg on Aug 8, 2013 | hide | past | favorite | 7 comments



I'm on here if anyone has any questions or would like to know more.


I remember bumping into CouchApps a few years ago and saw Kanso [0] and what appears to be a revival around Node.js, and how they both meet this "now Javascript is server-side too" way, even if they are almost completely unrelated. How hard was it to make CouchApps? Also, are you using PouchDB [1] syncing and how well does the mobile syncing and federation work, if you are using them at all?

[0] http://kan.so/ [1] http://pouchdb.com/


You hit the nail on the head with kan.so. I'm not using pouchDB, want to but haven't needed it. As a couchApp I can do a lot of the heavy lifting on the backend through good use of lists, shows, and views. Then I sync large collections through dynamic queries and long polling. I will be bringing in backbone for this soon. The data we are dealing with is a good fit for the eventual consistency model so we do not have to worry about realtime mobile syncing. We do have a AWS server setup though that syncs with Cloudant and allows us to put a ELB in front with our Node service talking directly to couch on the AWS network. This allows us to install our own ssl cert and pass credentials.


Like others have alluded here I want to start building my own apps on a home server and sync them with Cloudant and/or CouchDB on a VPS I purchased. I particularly curious about PouchDB because, like you, I have eventually consistent data. But I also want to sync stuff off my phone and to other devices. There a few things I was thinking of.

Anyway, it is really really cool to hear what you were doing. I have very little experience and rediscovered CouchDB out of boredom, and really want to use it and get back into a failed attempt at learning Erlang or an a BEAM byte-code and/or Erlang-VM compatible language (Lisp-Flavored Erlang or Elixir).

Anyway, you give me some hope for the first part. Thanks.


I'm actually interested in a more technical discussion of you're experience using couchapps. Did that model of packaging html/css/js into a design document work well? How do you handle deployment? Did you get constrained by cross-site-scripting and our (Cloudant's) lack of CORS support?


This is actually a subject that is surprisingly simple. For package management we have been using Kan.so for npm style package management and deployment (pushing our app to a design doc). I would like to explore just using npm for this, but Kan.so got me there quickly and I learned a lot from the project. Check https://cloudant.com/blog/app-management/ for more. This has worked out really well for us and is easily managed across our team. We all have our own data and just share the code across Github then push with Kanso. Anytime we need example data we just replicate from each other then repush our couchapp and viola.

CORS support has not been an issue as we access our app on Cloudant directly through our couchapp then it does the work. On the backend we have nodejs listeners managing tasks through state that Couch cannot handle (emails, signups ...). If you need CORS support on the front end I suggest replicating your data to AWS and having them sync or better yet asking yourself if you really need it in the first place.

Feel free to hit me up @hatchware if you have anymore questions and subscribe to user-subscribe@couchdb.apache.org as it is a very active community.


err, 'your', not you're.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: