{"id":22012433,"url":"https://github.com/nikitaeverywhere/edu-nodecms","last_synced_at":"2026-04-15T05:31:21.083Z","repository":{"id":69125095,"uuid":"46439053","full_name":"nikitaeverywhere/edu-NodeCMS","owner":"nikitaeverywhere","description":"The keep-it-simple modern Content Management Systems built on NodeJS and MongoDB.","archived":false,"fork":false,"pushed_at":"2015-12-04T14:06:38.000Z","size":3787,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-13T17:03:08.282Z","etag":null,"topics":["cms","cms-framework","node","node-js","nodejs"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikitaeverywhere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-18T18:33:10.000Z","updated_at":"2017-07-08T09:59:06.000Z","dependencies_parsed_at":"2023-03-14T09:01:41.201Z","dependency_job_id":null,"html_url":"https://github.com/nikitaeverywhere/edu-NodeCMS","commit_stats":null,"previous_names":["nikitaeverywhere/edu-nodecms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikitaeverywhere/edu-NodeCMS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitaeverywhere%2Fedu-NodeCMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitaeverywhere%2Fedu-NodeCMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitaeverywhere%2Fedu-NodeCMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitaeverywhere%2Fedu-NodeCMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikitaeverywhere","download_url":"https://codeload.github.com/nikitaeverywhere/edu-NodeCMS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitaeverywhere%2Fedu-NodeCMS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31828530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cms","cms-framework","node","node-js","nodejs"],"created_at":"2024-11-30T03:12:48.907Z","updated_at":"2026-04-15T05:31:21.022Z","avatar_url":"https://github.com/nikitaeverywhere.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keep-It-Simple NodeJS+MongoDB CMS\n\n![Sample](https://cloud.githubusercontent.com/assets/4989256/11591491/cf21773e-9aa0-11e5-9b3b-6185ffaed338.png)\n\nThe keep-it-simple modern Content Management Systems built on NodeJS and MongoDB.\n\nTo run the CMS, launch MongoDB, check src/config.json for correct settings,\nthen start `babel-node --presets=babel-preset-es2015 src/index`.\n\n### Database structure\n\nRename the database in the `src/config.json` file. Use the following MongoDB database structure.\nNote that any field may not be present. In this case it will be replaced by default assuming value.\n\n#### For `pages` collection:\n\n```js\n{\n    id: Number, // page ID (domain?page=\u003cid\u003e)\n    semantic: String, // page semantic name (domain?page=\u003csemanticName\u003e\n    title: \"Title\", // page title\n    desc: \"The description.\", // page description (node that \\n symbol splits full description from short one)\n    img: \"path/to/background/picture.png\", // background picture\n    extraLabel: \"This costs ${{prop(props.price)}}\", // extra label in right top corner of the card\n    parent: 0, // id of the parent page. Use 0 to form menu elements.\n    sort: { // sorting settings\n        field: \"title\", // name of the field to sort data\n        order: -1 // desc/asc: -1 or 1\n    },\n    props: {\n        price: 20, // any page-specific properties goes here.\n        color: \"red\" // in case of internet store, \n    },\n    usesFilters: [\"price\", \"color\"] // filters that must be defined in `filters` collection.\n}\n```\n\n#### For `filters` collection:\n\n```js\n{\n    name: \"price\", // filter URL name\n    label: \"The Label\", // filter screen name\n    type: \"range\", // supported types: range, set\n    min: 0, max: 100, // in case of \"range\" type\n    set: [{ title: \"Low\", value: 0 }, { title: \"High\", value: 1 }] // in case of \"set\" type\n}\n```\n\n### NodeJS startup\n\nIf global gulp is not installed: `npm install -g gulp`\nIf ES6 modules is not supported with pure NodeJS interpreter yet: `npm install babel-node`\n\n```sh\nnpm install\ngulp\nbabel-node src/index.js\n```\n\nAnd visit `127.0.0.1`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitaeverywhere%2Fedu-nodecms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikitaeverywhere%2Fedu-nodecms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitaeverywhere%2Fedu-nodecms/lists"}