3

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.

maple_shaft
  • 26,570
Lunatikzx
  • 33
  • 5

3 Answers3

4

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.

2

No

The choice of database depends largely on the nature of the data and how its being used. But you leave that information completely out of your question, and for some reason include the type of hardware the web client would run on (which is largely irrelevant, as Frustrated points out). I'm interpreting that as meaning you are very new to programming, or at least any sort of database work. As such, I'd recommend against CouchDB in favor of starting off with an SQL based database such as MySQL, where there'd be many more resources for you to learn from. There's nothing wrong with CoutchDB - I just think you'd have a better time getting up to speed on databases in general by first starting with a more widely supported database.

GrandmasterB
  • 39,412
1

Why not to have the necessary data for the questions and answers stored on the device with sqlite and sync with a main web server with something you can handle?

It could be CouchDB, MongoDB, SQL Server, MySQL Server or any other solution. It doesn't really matter what would be the server technology, as far as the client can sync its data and the data persists on the device.

A "One stone two birds" solution doesn't mean the better one at all times and can kill your development time and requirements easy.