Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Architecture of a Mobile Survey App

I am about to initiate a mobile app for surveys. There will be 2 users: Surveyor and the Survey_Taker. A surveyor would design the survey and send it to the survey taker. The survey taker completes the survey and send it back to the surveyor.

Now would i need to host a database on the web to sync the data from the survey taker's mobile to send it back to the surveyor.Or can i do without it?

Wonder if i can send the survey with the functionality to store the survey data in a text file ? What would be the consequences then ?

like image 372
Muhammad Maqsoodur Rehman Avatar asked Dec 10 '12 12:12

Muhammad Maqsoodur Rehman


3 Answers

I would suggest a thin server responsible for storing and aggregating some report data. Having a server to sync between client types would prove to be more robust. Storing can be done in files, say JSON format. Alternatively, depending on the scaling needs, storage can be switched to NoSQL db. To start quickly, you can have a Node.js server.

like image 86
Raul Avatar answered Nov 19 '22 13:11

Raul


You can perfectly do without a database, for example by sending the survey results via e-mail to the surveyor. However, it might be a bit uncomfortable to analyze results. Therefore, your need for a database is mainly determined by your reporting requirements. So: what do you want to do with the data?

like image 38
Bernd Avatar answered Nov 19 '22 13:11

Bernd


Being a mobile application, I would definitely consider the following features:

  • Bookmark a survey
  • Store the survey in my mobile phone for later completion
  • Answer the survey offline
  • Send the survey to the server
  • Reconciliate the received survey (in case the survey's questions have changed in the meantime)

That been said, I would use a local (file?) storage on the mobile and a DB on the server.

like image 4
Alessandro Santini Avatar answered Nov 19 '22 12:11

Alessandro Santini