{"id":13528602,"url":"https://github.com/leomaurodesenv/smm-course-search","last_synced_at":"2025-04-01T14:32:37.628Z","repository":{"id":30494885,"uuid":"102003645","full_name":"leomaurodesenv/smm-course-search","owner":"leomaurodesenv","description":"A package to searching courses - Super Mario Maker","archived":false,"fork":false,"pushed_at":"2022-12-10T19:26:30.000Z","size":2386,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-12T15:28:40.040Z","etag":null,"topics":["bookmark-site","crawler","javascript","json","mario-game","mario-maker","nodejs"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/smm-course-search","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leomaurodesenv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-31T13:29:31.000Z","updated_at":"2022-08-30T04:19:15.000Z","dependencies_parsed_at":"2023-01-14T17:04:26.771Z","dependency_job_id":null,"html_url":"https://github.com/leomaurodesenv/smm-course-search","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/leomaurodesenv%2Fsmm-course-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomaurodesenv%2Fsmm-course-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomaurodesenv%2Fsmm-course-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomaurodesenv%2Fsmm-course-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leomaurodesenv","download_url":"https://codeload.github.com/leomaurodesenv/smm-course-search/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655178,"owners_count":20812592,"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":["bookmark-site","crawler","javascript","json","mario-game","mario-maker","nodejs"],"created_at":"2024-08-01T07:00:21.695Z","updated_at":"2025-04-01T14:32:37.315Z","avatar_url":"https://github.com/leomaurodesenv.png","language":"JavaScript","funding_links":[],"categories":["API"],"sub_categories":[],"readme":"# smm-course-search\n\n[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE.md)\n[![npm](https://img.shields.io/badge/Code-npm-yellow.svg)](https://www.npmjs.com/package/smm-course-search)\n[![JsClasses](https://img.shields.io/badge/Code-JsClasses-yellow.svg)](https://www.jsclasses.org/smm-course-search)\n[![GitHub](https://img.shields.io/badge/Code-GitHub-yellow.svg)](https://github.com/leomaurodesenv/smm-course-search)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ccf4226b1b5445b1851187f2144a7ea5)](https://www.codacy.com/app/leomaurodesenv/smm-course-search?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=leomaurodesenv/smm-course-search\u0026amp;utm_campaign=Badge_Grade)\n\n---\nSuper Mario Maker is a game from Nintendo Inc. This module can search courses from the official [bookmark site](https://supermariomakerbookmark.nintendo.net).  \nThis module can request and fetching courses data information just passing a query search.   \n      \nBy 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..).      \n   \nNote: 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.      \n\n---\n## Installation\n\n```shell\nnpm install --save smm-course-search\n```\n   \n---\n## Package\n\n### `courses` json\n\nThe data information retrive:    \n\n```js\nid: '0000-0000-0000-0000',\ndifficulty: [..],\nclearRate: number,\ntitle: 'Name',\nimg: 'Url',\nthumbnailImg: 'Url',\ngameStyle: [..],\ncreatedAt: Timestamp,\ntag: [..],\nstared: number,\nplayed: number,\nshared: number,\nclears: number,\nattempts: number,\nmaker: \n  \\_ login: 'Nintendo ID',\n  \\_ faceImg: 'Url',\n  \\_ flag: 'Country',\n  \\_ name: 'Name'\n```\n   \n### Query Params\n   \nThe query search parameters are optional, but must be pass at least one.       \n   \n```js\n{\n  gameStyle: ['all', 'marioBros', 'marioBros3', 'marioWorld', 'marioBrosU'],\n  courseTheme: ['all', 'ground', 'underground', 'underwater', 'ghostHouse', 'airship', 'castle'],\n  region: ['all', 'jp', 'us', 'eu', 'other'],\n  difficulty: ['all', 'easy', 'normal', 'expert', 'superExpert'],\n  tag: ['all', 'automatic', 'music', 'puzzle', 'gimmick', 'dash', \n        'remix', 'thumbnail', 'costume', 'yoshi', 'theme', 'speedrun', \n        'autoscroll', 'shootEmUp', 'track', 'tradicional'],\n  uploadDate: ['all', 'pastDay', 'pastWeek', 'pastMonth', 'beforeOneMonth'],\n  sortBy: ['all', 'starRate', 'totalStars', 'lowestClearRate', 'timesShared', 'mostRecent']\n}\n```\n      \n### Functions\n\nThere are three functions to search courses:\n\n-   `.getCourses(query, function(error, courses){}` - return first page (max 10 courses).\n\n-   `.getCoursesPages(query, (int) firstPage, (int) lastPage, function(error, courses){}` - return `n` pages.\n\n-   `.getInfinity(query, function(error, courses){}` - search all pages.\n      \n---\n## Example\n\nExample: How search courses. See `test/test.js` for other examples.    \n   \n```js\n/* Include */\nvar SmmCourseSearch = require('smm-course-search');\n\n// ## Try search courses\n// For example to get the most recents courses\n\nvar query = {\n    region: 'us',\n    uploadDate: 'pastDay',\n    sortBy: 'mostRecent'\n};\n\nconsole.time('test');\nSmmCourseSearch.getCourses(query, function(error, courses){\n    if(error) console.log('\u003e Courses not exist.');\n    else console.log(courses);\n    console.timeEnd('test');\n});\n```\n\n---\n## Also look ~\n\n-   [License GPL v3](LICENSE)\n-   Create by Leonardo Mauro ~ [leomaurodesenv](https://github.com/leomaurodesenv/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomaurodesenv%2Fsmm-course-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleomaurodesenv%2Fsmm-course-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomaurodesenv%2Fsmm-course-search/lists"}