Yik Yakker - Ionic Location Based Anonymous Posting

Yik Yakker - Ionic Location Based Anonymous Posting

Yik Yakker - Ionic Location Based Anonymous Posting




Member since 2015


iOS, Android  
5 years ago
1 year ago

Yik Yakker - Ionic Location Based Anonymous Posting - Yik Yak Starter App

This is a fully functional barebone ionic app with a node.js server on the backend. It's easy to add your own css styling and expand with your own features.

If you are making any kind of location based social network or yellow pages/craigslist type app, this is a great starter. It stores posts with longitude and latitude so you have to have location service turned on for the app. The whole thing is very lightweight and easy to modify and expand. It runs on a node.js server running express and mysql with sequelize. Run it locally or upload it to Heroku.com

Check out my other useful starters are here: Great Ionic Starters.


  • Make Posts Anonymously
  • Capture location of posts
  • Display posts within your 50 km radius
  • Support for emoticons

The server dependencies:

- "body-parser": "~1.12.4", - "connect": "^3.4.0", - "cookie-parser": "~1.3.5", - "debug": "~2.2.0", - "express": "~4.12.4", - "express-session": "^1.12.1", - "morgan": "~1.5.3", - "mysql": "^2.9.0", - "node-gyp": "^3.2.1", - "q": "^1.4.1", - "sequelize": "^3.14.1", - "serve-favicon": "~2.2.1", - "jade": "~1.9.2"

Frontend uses the default ionic plugins you get with a new project.

Server Instructions

  • Go to the Server folder
  • Install node.js Node.js Installation
  • npm install
  • Install Express Server npm install express --save
  • Install Express Session npm install express-session
  • Install Connect npm install connect
  • Download & Install MySQL
  • Create a db: 'mydbname' (you can change this).
  • To create the db you can run mysql -u root -e "create database mydbname";
  • In Server app.js you have to update your own mysql parameters: dbname , user, password, url and port.
  • npm install mysql
  • Install Sequelize npm install sequelize
  • Install mysql option npm install --save mysql
  • Start server with npm start

Usage via http post

FrontEnd Instructions

  • Install Ionic
  • Download Genymotion if you plan to emulate on android - Genymotion
  • go to the unzipped Frontend folder
  • Install Ionic sudo npm install -g ionic
  • add platforms ionic platform add ios
  • add platforms ionic platform add android
  • cordova plugin add cordova-plugin-geolocation
  • ionic emulate ios (do not run with livereload)
  • ionic run android (after you have a Genymotion Emulator instance running)

Node.js App Deployment Tutorial

  • It is highly recommended you use Heroku.com as your app hosting service
  • Read my tutorial on [How to Deploy Node.js app to Heroku](http: ubberchickin.com/how-to-deploy-your-ionic-node-js-app-to-heroku/)

Running as a website

  • [Enable CORS requests](http: ubberchickin.com/origin-is-not-allowed-by-access-control-allow-origin-ionic/)

Common Issues

  • If you're using Android Emulator or testing on a Smartphone, you cannot access your computer's localhost. In the Frontend/www/js/controller.js you have to replace all the localhost references with your computer external ip such as 192.x.x.x. Find out what your computer's IP is and put it instead of localhost. Make sure the smartphone and your computer are on the same wifi network or your server is accessible globally.
  • If you try to run with ionic server or ionic run -l you will encounter Cross Origin Issues (CORS). You can read about it here.

Payment Information

  • The payment on this site is processed by Stripe.com and sometimes your bank will decline the charges if they don't recognize it. You can contact your bank or try a different card.


  • Leave a comment if you get stuck on anything
  • And Kudos if you leave a rating! =)

Stay in Touch