{"id":20700881,"url":"https://github.com/vidyasagarmsc/ionic-cloudant-feedbackapp","last_synced_at":"2026-05-05T15:39:18.579Z","repository":{"id":92350532,"uuid":"74956669","full_name":"VidyasagarMSC/Ionic-Cloudant-FeedbackApp","owner":"VidyasagarMSC","description":"An Ionic mobile feedback app using Cloudant NoSQL DB service on IBM Cloud","archived":false,"fork":false,"pushed_at":"2017-08-12T03:48:03.000Z","size":4715,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-17T19:42:10.889Z","etag":null,"topics":["cloudant","database","feedback","ibm-cloud","ionic"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VidyasagarMSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-28T09:22:24.000Z","updated_at":"2018-07-02T11:45:34.000Z","dependencies_parsed_at":"2023-06-18T05:16:07.822Z","dependency_job_id":null,"html_url":"https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2FIonic-Cloudant-FeedbackApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2FIonic-Cloudant-FeedbackApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2FIonic-Cloudant-FeedbackApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2FIonic-Cloudant-FeedbackApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VidyasagarMSC","download_url":"https://codeload.github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242967741,"owners_count":20214281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudant","database","feedback","ibm-cloud","ionic"],"created_at":"2024-11-17T00:37:33.818Z","updated_at":"2026-05-05T15:39:18.551Z","avatar_url":"https://github.com/VidyasagarMSC.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ionic-Cloudant-FeedbackApp \nAn Ionic feedback app using Cloudant NoSQL service on IBM Bluemix. An easy to configure mobile app for receiving feedback at Meetups, Events etc.,\n\n**Ionic** is a complete open-source SDK for hybrid mobile app development. Built on top of AngularJS and Apache Cordova, Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and Sass.\n\n**Cloudant** is the distributed database as a service (DBaaS) built from the ground up to deliver fast-growing application data to the edge.\n\nThe App Runs on iOS and Android and build using **Ionic Version 1.7.13**\n\n\u003cstrong\u003eiOS:\u003c/strong\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp/blob/master/images/Simulator%20Screen%20Shot%2028-Nov-2016%2C%203.42.45%20PM.png\" width=\"350\"\u003e\n\u003cimg src=\"https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp/blob/master/images/Simulator%20Screen%20Shot%2028-Nov-2016%2C%203.43.08%20PM.png\" width=\"350\"\u003e\n\u003c/p\u003e\n\n\u003cstrong\u003eAndroid:\u003c/strong\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp/blob/master/images/Screenshot_20160616-095752.png\" width=\"350\"\u003e\n\u003cimg src=\"https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp/blob/master/images/Screenshot_20160616-095800.png\" width=\"350\"\u003e\n\u003c/p\u003e\n\n\n\n## Creating a Cloudant NoSQL DB service on IBM Bluemix \n\n\u003cul\u003e\n\u003cli\u003eDon’t have Bluemix account? \u003ca target=\"_blank\" href=\"https://console.ng.bluemix.net/registration/?target=/catalog/services/conversation/\" title=\"(Opens in a new tab or window)\"\u003eSign up\u003c/a\u003e to create a free trial account.\u003c/li\u003e\n\u003cli\u003eHave a Bluemix account? Use \u003ca target=\"_blank\" href=\"https://console.ng.bluemix.net/catalog/services/cloudant-nosql-db\" title=\"(Opens in a new tab or window)\"\u003ethis link\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\n Add a new Cloudant data service in just a few clicks:\n\n1. Visit your Bluemix dashboard.\n2. Click Catalog.\n3. On the left Pane, Click on **Data \u0026 Analytics** under Services.\n4. Click **Cloudant NoSQL DB** tile.\n5. Enter a unique descriptive name in the Service name field.\n6. Check Features, Images and Pricing Plans.\n7. Click the **Create** button.\n\n### Cloudant Dashboard 2.0\nOnce the Cloudant service is created, \n\n* Click on ***LAUNCH*** button to launch the Cloudant Dashboard 2.0 (Powerful querying, analytics, replication, and syncing happens here) on a seperate tab \n* Create a new database by clicking on **Create Database** on the top ribbon. Your database is created.\n* From the left Pane, Click on **Account** -\u003e CORS Tab -\u003e Check **All domains ( * )**. *Not recommended for all usecases, this being a simple mobile app taking this liberty. [CORS Documentation](https://docs.cloudant.com/cors.html)\n\n## Configuring Ionic app with a configuration file\n\n* Install Ionic \n```\nnpm install -g cordova ionic@1.7.13\n```\n* Clone the repo \n```\n$ git clone https://github.com/VidyasagarMSC/Ionic-Cloudant-FeedbackApp.git\n```\n* Open the unzipped folder in an IDE (I use Brackets) of your Choice and Navigate to **www/js** folder.\n* Create a new Javascript file **app.config** *With extension the file will be app.config.js*\n* Paste the below code in app.config.js,\n```\nangular.module('app').constant('CLOUDANTDB_CONFIG', {\n    baseUrl: 'https://\u003chostname\u003e',\n    dbName: '\u003cDBName\u003e',\n    userName: '\u003cusername\u003e',\n    password: '\u003cpassword\u003e'\n});\n```\n* DBName - Name of the Cloudant NoSQL DB your created on Dashboard 2.0.\n* For **hostname,username and password** - Navigate to the Cloudant Service page on Bluemix and Click on **Service Credentials** tab. \n* Click on **View Credentials** under Actions.\n\n|   placeholder\t|   Cloudant Service|\n|---\t|---\t|\n|  username \t|  username \t|\n|  password \t|  password \t|\n|  hostname  |  host      |\n  \nThe CLOUDANTDB_CONFIG constant values are utilised in **controllers.js**\n\n```\n// Define the Credentials string to be encoded.\n    var credentialstobeEncoded = CLOUDANTDB_CONFIG.userName + \":\" + CLOUDANTDB_CONFIG.password;\n\n    // Encode the String\n    var encodedString = Base64.encode(credentialstobeEncoded);\n    console.log(\"ENCODED: \" + encodedString);\n\n    $scope.createFeedback = function (feedback) {\n\n        $http({\n            method: 'POST',\n            url: CLOUDANTDB_CONFIG.baseUrl + \"/\" + CLOUDANTDB_CONFIG.dbName,\n            headers: {\n                'Content-Type': 'application/json',\n                'Authorization': 'Basic ' + encodedString\n            },\n```\n## Customize the App UI\n\n* Images can be replaced with the same name under **img** folder.\n* Customize the feedback fields in **feedback.html**\n* There are validations on the fields based on the type. E.g., Email checks for @ in the entry. **Submit** will be disabled until the form is completely valid.\n\n## Testing the App\n\nDesktop browser Testing \n\n```\n$ ionic serve\n```\nOn an iOS Simulator or Android Emulator \n```\n$ ionic emulate ios\n$ ionic emulate android\n```\n\u003cstrong\u003eNote:\u003c/strong\u003e Follow the \u003ca href=\"https://cordova.apache.org/docs/en/latest/guide/platforms/android\"\u003eAndroid\u003c/a\u003e and \u003ca href=\"https://cordova.apache.org/docs/en/latest/guide/platforms/ios\"\u003eiOS\u003c/a\u003e platform guides to install required tools for development.\n\n\u003ch3\u003eIf you see this Error\u003c/h3\u003e\n\u003cpre\u003eError: Cannot find module 'internal/fs'\n\nat Function.Module._resolveFilename (module.js:470:15)\n\nat Function.Module._load (module.js:418:25)\n\nat Module.require (module.js:498:17)\n\nat require (internal/module.js:20:19)\n\nat evalmachine.\u0026lt;anonymous\u0026gt;:18:20\n\nat Object.\u0026lt;anonymous\u0026gt; (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:11:1)\n\nat Module._compile (module.js:571:32)\n\nat Object.Module._extensions..js (module.js:580:10)\n\nat Module.load (module.js:488:32)\n\nat tryModuleLoad (module.js:447:12)\n\nCannot find module 'internal/fs' (CLI v1.7.13)\u003c/pre\u003e\n\u003ch3\u003eResolution:\u003c/h3\u003e\n\u003cul\u003e\n \t\u003cli\u003eCheck Node version on your system\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre class=\"\"\u003enode -v\u003c/pre\u003e\n\u003cul\u003e\n \t\u003cli\u003eIf you see \u003cstrong\u003e\u0026nbsp;v7.5.0\u003c/strong\u003e, run the below commands one after another to add \u003cstrong\u003ev6\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre class=\"\"\u003eexport NVM_DIR=~/.nvm\nsource $(brew --prefix nvm)/nvm.sh\nnvm install 6\u003c/pre\u003e\n\u003ch3\u003eIf you see this error\u003c/h3\u003e\n\u003cdiv class=\"extra-info-wrapper\"\u003e\n\u003cdiv class=\"extra-info two-rows\"\u003e\n\u003cdiv class=\"title-wrapper\"\u003e\n\u003cpre class=\"\"\u003eError: Cannot read property ‘replace’ of undefined\u003c/pre\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003ch3\u003eSolution:\u003c/h3\u003e\n\u003cpre class=\"\"\u003ecd platforms/ios/cordova/node_modules/\u003cbr\u003esudo npm install ios-sim@latest\u003c/pre\u003e\n\n*Notes*: \n* This sample uses only the POST HTTP API call of Cloudant Service. To understand other HTTP API Verbs, Refer [Cloudant Documentation](https://docs.cloudant.com/basics.html#http-api)\n* [Cloudant Client Libraries](https://docs.cloudant.com/libraries.html) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidyasagarmsc%2Fionic-cloudant-feedbackapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvidyasagarmsc%2Fionic-cloudant-feedbackapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidyasagarmsc%2Fionic-cloudant-feedbackapp/lists"}