All Projects → jcoynel → App Store Reviews

jcoynel / App Store Reviews

Licence: mit
Node.js module to download user reviews from the iTunes Store and the Mac App Store

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to App Store Reviews

Dl 4 Tsc
Deep Learning for Time Series Classification
Stars: ✭ 730 (+684.95%)
Mutual labels:  review
Laravel Reviewable
Adds a reviewable feature to your laravel app.
Stars: ✭ 57 (-38.71%)
Mutual labels:  review
Laravel Review Rateable
Review & Rating System For Lavavel 5, 6 & 7
Stars: ✭ 72 (-22.58%)
Mutual labels:  review
Rpinteraction
Review page interaction - handy and pretty way to ask for review.
Stars: ✭ 26 (-72.04%)
Mutual labels:  review
You Dont Know Js Review
A review of the freaking awesome you don't know JS books series.
Stars: ✭ 27 (-70.97%)
Mutual labels:  review
Jonsnow
App Store/Google Play review watcher, deliver new reviews to slack channel
Stars: ✭ 65 (-30.11%)
Mutual labels:  review
Git Quick Stats
▁▅▆▃▅ Git quick statistics is a simple and efficient way to access various statistics in git repository.
Stars: ✭ 5,139 (+5425.81%)
Mutual labels:  review
Cargo Crev
A cryptographically verifiable code review system for the cargo (Rust) package manager.
Stars: ✭ 1,268 (+1263.44%)
Mutual labels:  review
Github Review Filter
Chrome extension to filter files in GitHub code review using glob
Stars: ✭ 42 (-54.84%)
Mutual labels:  review
Bughunt
A weekly challenge where we share some code and you find a bug in it.
Stars: ✭ 68 (-26.88%)
Mutual labels:  review
Rescore
Sentiment analysis for movie reviews
Stars: ✭ 11 (-88.17%)
Mutual labels:  review
Steam Review Editor
Easily create, format and preview your Steam reviews in real-time
Stars: ✭ 14 (-84.95%)
Mutual labels:  review
Deep Review
A collaboratively written review paper on deep learning, genomics, and precision medicine
Stars: ✭ 1,141 (+1126.88%)
Mutual labels:  review
Data Augmentation Review
List of useful data augmentation resources. You will find here some not common techniques, libraries, links to github repos, papers and others.
Stars: ✭ 785 (+744.09%)
Mutual labels:  review
Reviews slider
A Flutter animated widget made to help users leave reviews and feedbacks
Stars: ✭ 74 (-20.43%)
Mutual labels:  review
Pep8speaks
A GitHub app to automatically review Python code style over Pull Requests
Stars: ✭ 546 (+487.1%)
Mutual labels:  review
Study
Algorithm / Book Reviews / Interview / ETC
Stars: ✭ 58 (-37.63%)
Mutual labels:  review
Review Waiting List Bot
Make your team's review great again! ✨ It's a Slack bot to list up review waiting list.
Stars: ✭ 86 (-7.53%)
Mutual labels:  review
Monorepo
Open source platform for code review automation ✅
Stars: ✭ 81 (-12.9%)
Mutual labels:  review
Pert
A simple command line (bash/shell) utility to estimate tasks using PERT [Program Evaluation and Review Technique]
Stars: ✭ 66 (-29.03%)
Mutual labels:  review

About app-store-reviews

NPM version

Node.js module to download user reviews from the iTunes Store and the Mac App Store.

It supports:

  • All countries
  • All apps on the iTunes Store
  • All apps on the Mac App Store

This module uses the public feed to customer reviews

https://itunes.apple.com/rss/customerreviews/page=1/id=555731861/sortby=mostrecent/xml?l=en&cc=us

Installation

app-store-reviews is available via the npm packet manager.

$ npm install app-store-reviews

Usage

You can find all the following examples in the examples folder.

Example 1: single app and country

In this example we simply print the reviews of Tunes Notifier to the console from the US Store. The ID of the app is 555731861.

Code

var appStoreReviewsModule = require('app-store-reviews');
var appStoreReviews = new appStoreReviewsModule();

appStoreReviews.on('review', function(review) {
	console.log(review);
});

appStoreReviews.getReviews('555731861', 'us', 1);

Output

[ id: '676984080',
  app: '555731861',
  author: 'appwatching',
  version: '1.1',
  rate: '5',
  title: 'Very good',
  comment: 'Mucho mejor ahora. Ya se puede esconder el icono de la barra de menús.',
  vote: '0',
  updated: '2012-10-19T12:48:41-07:00',
  country: 'us' ]

Example 2: import to a database for all countries

In this example we store the reviews in a MySQL database.

You can find the structure of the database in examples/reviews-to-mysql.sql

Code

var appStoreReviewsModule = require('app-store-reviews');
var appStoreReviews = new appStoreReviewsModule();

var mysql = require('mysql');

function mysqlConnection()
{
	var db = mysql.createConnection ({
		user : 'root',
	    password : 'root',
	    host : "localhost",
	    database : "reviews",
	    port : "3306"
	});

	return db;
}

function insertReviewInDb(id, app, author, version, rate, title, comment, country, updated)
{
	var review = {
		id: id,
		app: app,
		author: author,
		version: version,
		rate: rate,
		title: title,
		comment: comment,
		country: country,
		review_date: updated,
	}

	var db = mysqlConnection();
	db.connect();
	db.query('INSERT IGNORE INTO reviews SET ?', review);
	db.end();
}

appStoreReviews.on('review', function(review) {
	insertReviewInDb(review['id'], review['app'], review['author'], review['version'], review['rate'], review['title'], review['comment'], review['country'], review['updated']);
});

appStoreReviews.on('nextPage', function(nextPage) {
	appStoreReviews.getReviews(nextPage['appId'], nextPage['country'], nextPage['nextPage']);
});


console.log("Starting reviews-to-mysql.js at " + Date());
var db = mysqlConnection();
db.connect();
db.query('SELECT * FROM apps WHERE enabled=1', function(err, rows, fields) {
	if (err) {
		console.log("DB error: " + err);
	} else {
		for (var index in rows) {
			console.log("App: " + rows[index].id + " - " + rows[index].name);
			
			var countries;
			if (rows[index].countries == null || rows[index].countries == "") {
				countries = appStoreReviews.allCountries();
			} else {
				countries = rows[index].countries.split(',');
				console.log(countries);
			}
			
			for (var countryIndex in countries) {
				appStoreReviews.getReviews(rows[index].id, countries[countryIndex], 1);
			}
		}
	}
});
db.end();

Example 3: automatically email new reviews

In this example we store the reviews in a MySQL database and send the new reviews by email periodically using Cron.

You can find the structure of the database in examples/reviews-to-mysql.sql.

$ npm install app-store-reviews
$ npm install mysql
$ npm install nodemailer
  • In reviews-to-mysql.js, configure your database connection details.

  • In mysql-to-email.js, configure your database connection details and email address and password.

  • In reviews-to-email.sh, set the path to the directory containing this file.

  • Make reviews-to-email.sh executable: chmod +x reviews-to-email.sh

  • Add reviews-to-email.sh to Cron

  • Edit the current crontab: $ crontab -e

  • Add the following line (run every day at 12): 0 12 * * * /EXAMPLE/PATH/reviews-to-email.sh

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].