Skip to content
A package to searching courses - Super Mario Maker
Branch: master
Clone or download
Latest commit cae113e May 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib fix issues, add badges in readme Apr 19, 2019
test fix lib/typography and test issues ~ codacy Mar 30, 2019
.gitignore fix dependency issues Mar 27, 2019
LICENSE update LICENSE Feb 9, 2019
README.md add badges in readme Apr 19, 2019
package-lock.json review readme ~ remark-lint Mar 27, 2019
package.json update npm readme May 10, 2019

README.md

smm-course-search

GPLv3 license npm JsClasses GitHub Codacy Badge


Super Mario Maker is a game from Nintendo Inc. This module can search courses from the official bookmark site.
This module can request and fetching courses data information just passing a query search.

By response the module call a callback function with 2 arguments (error, courses). These arguments: the first is a boolean to check sucess in fetching; and the second is a json with courses informations (like ID, image, maker, difficulty..).

Note: This module makes analysis on the html structure of the bookmark site. In case of site changes, the smm-course-search system may not work correctly.


Installation

npm install --save smm-course-search

Package

courses json

The data information retrive:

id: '0000-0000-0000-0000',
difficulty: [..],
clearRate: number,
title: 'Name',
img: 'Url',
thumbnailImg: 'Url',
gameStyle: [..],
createdAt: Timestamp,
tag: [..],
stared: number,
played: number,
shared: number,
clears: number,
attempts: number,
maker: 
  \_ login: 'Nintendo ID',
  \_ faceImg: 'Url',
  \_ flag: 'Country',
  \_ name: 'Name'

Query Params

The query search parameters are optional, but must be pass at least one.

{
  gameStyle: ['all', 'marioBros', 'marioBros3', 'marioWorld', 'marioBrosU'],
  courseTheme: ['all', 'ground', 'underground', 'underwater', 'ghostHouse', 'airship', 'castle'],
  region: ['all', 'jp', 'us', 'eu', 'other'],
  difficulty: ['all', 'easy', 'normal', 'expert', 'superExpert'],
  tag: ['all', 'automatic', 'music', 'puzzle', 'gimmick', 'dash', 
        'remix', 'thumbnail', 'costume', 'yoshi', 'theme', 'speedrun', 
        'autoscroll', 'shootEmUp', 'track', 'tradicional'],
  uploadDate: ['all', 'pastDay', 'pastWeek', 'pastMonth', 'beforeOneMonth'],
  sortBy: ['all', 'starRate', 'totalStars', 'lowestClearRate', 'timesShared', 'mostRecent']
}

Functions

There are three functions to search courses:

  • .getCourses(query, function(error, courses){} - return first page (max 10 courses).

  • .getCoursesPages(query, (int) firstPage, (int) lastPage, function(error, courses){} - return n pages.

  • .getInfinity(query, function(error, courses){} - search all pages.


Example

Example: How search courses. See test/test.js for other examples.

/* Include */
var SmmCourseSearch = require('smm-course-search');

// ## Try search courses
// For example to get the most recents courses

var query = {
    region: 'us',
    uploadDate: 'pastDay',
    sortBy: 'mostRecent'
};

console.time('test');
SmmCourseSearch.getCourses(query, function(error, courses){
    if(error) console.log('> Courses not exist.');
    else console.log(courses);
    console.timeEnd('test');
});

Also look ~

You can’t perform that action at this time.