JavaScript CouchDB – Is CouchDB a Good Idea?

couchdbjavascript

Is it a good idea to use CouchDB for a web application that is going to be platform agnostic (from tablet to PC):

  • The app is a big form which I need to be able to modify at will.
  • I also need to scan the results to retrieve the data to send some file
    to help the client.
  • I need to be able to upload the results to a master server.
  • I want to mainly use the app offline and online at will.

The data is questions with answers and comments linked to them. At the end a percentage is generated for the user and depending on the result, a call to another application will be made to "send" information to the user depending on its results.

The application needs to be offline because we don't know if the user is connected to the internet at the time they answer the questions. The data needs to be the same on all platforms (replication is a given).

I cannot rely on the browser even if the app is going to be built with HTML5, CSS and JavaScript. Is it possible with CouchDB and is it a too big mandate for only one person?

If there are not enough details, ask and I will explain more thoroughly.

EDIT:

After all your answers here is what i have concluded.

  • I am gonna use SQLite and sync it with our sql databases.

  • NoSQL is not made for the kind of app i am working on.

  • Using what you know is sometimes the way to go

  • If you dont know how to use the technology and intend to use it for a huge project your coding alone. dont.

Best Answer

CouchDB has been running on iOS ( iPhone and iPad ) for a while now. An app using it was even accepted to the AppStore. There is a version for Android as well. That said, your question points to a lack of fundamental comprehension of database theory, I would not start off with CouchDB if I was you.

Google "CouchDB Mobile iOS Android" and you will find what you need, but I still don't recommend it.

SQLite would be a much lower barrier to entry ( Erlang can be difficult to build and install on these devices because of all its dependencies ) and SQLite is much better documented on all devices.