{"id":14974112,"url":"https://github.com/punchcard-cms/punchcard","last_synced_at":"2025-04-06T06:14:06.436Z","repository":{"id":8556864,"uuid":"58833061","full_name":"punchcard-cms/punchcard","owner":"punchcard-cms","description":"The Punchcard CMS","archived":false,"fork":false,"pushed_at":"2024-11-11T06:33:44.000Z","size":1138,"stargazers_count":31,"open_issues_count":187,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T05:09:28.617Z","etag":null,"topics":["cms","cms-framework","cms-punchcard","headless","node-cms","postgres"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/punchcard-cms.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-14T22:23:32.000Z","updated_at":"2023-06-29T04:51:47.000Z","dependencies_parsed_at":"2024-06-19T05:32:57.424Z","dependency_job_id":"25cf88f8-ee14-4fb0-abc4-d3c6cb3f823c","html_url":"https://github.com/punchcard-cms/punchcard","commit_stats":{"total_commits":891,"total_committers":10,"mean_commits":89.1,"dds":0.574635241301908,"last_synced_commit":"10362d02f2caa00cdb5f68302d68f846876f4392"},"previous_names":[],"tags_count":154,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchcard-cms%2Fpunchcard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchcard-cms%2Fpunchcard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchcard-cms%2Fpunchcard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchcard-cms%2Fpunchcard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/punchcard-cms","download_url":"https://codeload.github.com/punchcard-cms/punchcard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441063,"owners_count":20939239,"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":["cms","cms-framework","cms-punchcard","headless","node-cms","postgres"],"created_at":"2024-09-24T13:49:58.421Z","updated_at":"2025-04-06T06:14:06.395Z","avatar_url":"https://github.com/punchcard-cms.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Punchcard CMS [![Build Status](https://travis-ci.org/punchcard-cms/punchcard.svg?branch=master)](https://travis-ci.org/punchcard-cms/punchcard) [![Coverage Status](https://coveralls.io/repos/github/punchcard-cms/punchcard/badge.svg?branch=master)](https://coveralls.io/github/punchcard-cms/punchcard?branch=master) [![Code Climate](https://codeclimate.com/github/punchcard-cms/punchcard/badges/gpa.svg)](https://codeclimate.com/github/punchcard-cms/punchcard)\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/punchcard-cms/demo)\n\nHeadless Content Management System designed with content strategy at its heart. Built with Node.\n\n## Install and Usage\n\n```bash\nnpm i punchcard-cms --save\n```\n\n```javascript\nconst punchcard = require('punchcard-cms');\n\npunchcard().then(app =\u003e {\n  app.listen(8080);\n})\n```\n\n## Setting File Storage\n\nPunchcard uses any [Vinyl Adapter](https://www.npmjs.com/package/vinyl#what-is-a-vinyl-adapter) that your heart desires. A good first place to start is searching for [vinyl on NPM](https://www.npmjs.com/search?q=vinyl). Punchcard assumes all vinyl adapters are named `vinyl-adapter`.\n\n## Developing Locally\n\nMake sure PostgresSQL is set up locally (see below)\n\nInstall all the things\n\n```bash\nnpm install\n```\n\nRun the following to run both the database and get the server running:\n\n```bash\n$ npm run dev\n```\n\n## debug mode\n\nUses node's [built in inspector](https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.vgad4zqg9). This works in **chrome only**.\n\n```bash\n$ npm run dev:database\n```\n\nthen in a separate window:\n\n```bash\n$ npm run debug\n```\n\nThere will be instructions and a link to paste into chrome shown in the terminal after this `debug` command is run.\n\n\n\n## Setting up PostgreSQL locally\n\n1. Make sure you have homebrew installed: `/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"`\n\n2. `brew update`\n3. `brew install postgres`\n4. start the postgres server: `postgres -D /usr/local/var/postgres`\n\n5. open new terminal tab\n6. create a postgres user (it'll prompt for a password use `W@ts0n`): `createuser punchcard -P`\n\n7. Create local CMS database: `createdb -O punchcard punchcard`\n\n8. Create local test database: `createdb -O punchcard punchcard_test`\n\n9. reconnect to psql as new user: `psql -d punchcard -U punchcard`\n\n10. connect to db: `\\connect punchcard`\n\nOnce you are connected you should be able to use psql cli syntax to check tables.\n* `\\d+` checks table relations\n* `\\l` lists all available databases\n* `select * from \"database_name\";` Displays all rows in database, replacing database_name with the table you want to see.\n* list all tables for user punchcard: `\\c punchcard \\dt`\n\n## Changelog\n\nSee the [latest release](https://github.com/punchcard-cms/punchcard/releases/latest) for the most recent changelog\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpunchcard-cms%2Fpunchcard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpunchcard-cms%2Fpunchcard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpunchcard-cms%2Fpunchcard/lists"}