{"id":15012951,"url":"https://github.com/azirbel/npoint","last_synced_at":"2025-04-05T08:08:18.827Z","repository":{"id":39668281,"uuid":"80308863","full_name":"azirbel/npoint","owner":"azirbel","description":"JSON storage bins with schema validation","archived":false,"fork":false,"pushed_at":"2024-09-06T22:57:49.000Z","size":18681,"stargazers_count":419,"open_issues_count":13,"forks_count":31,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T07:06:16.277Z","etag":null,"topics":["json","json-schema"],"latest_commit_sha":null,"homepage":"https://www.npoint.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azirbel.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-28T20:31:13.000Z","updated_at":"2025-03-28T19:30:33.000Z","dependencies_parsed_at":"2024-09-20T08:01:16.959Z","dependency_job_id":"e0d9e8cb-a7d1-402c-9dce-3290de4307d7","html_url":"https://github.com/azirbel/npoint","commit_stats":{"total_commits":315,"total_committers":2,"mean_commits":157.5,"dds":"0.050793650793650835","last_synced_commit":"f8b5da4fd4e6498b9e7b13302d28d6ba21b38a63"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azirbel%2Fnpoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azirbel%2Fnpoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azirbel%2Fnpoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azirbel%2Fnpoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azirbel","download_url":"https://codeload.github.com/azirbel/npoint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"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":["json","json-schema"],"created_at":"2024-09-24T19:43:30.089Z","updated_at":"2025-04-05T08:08:18.804Z","avatar_url":"https://github.com/azirbel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# n:point [![CircleCI](https://circleci.com/gh/azirbel/npoint/tree/master.svg?style=svg)](https://circleci.com/gh/azirbel/npoint/tree/master)\n\n[npoint.io](https://www.npoint.io/) is a lightweight data store for your app or prototype.\n\nSave FAQ answers, customer stories, configuration data, or\tanything else that\nwill fit in a JSON blob. Then access your data\tdirectly via API.\n\nOnce your app is live, come back later to edit your saved JSON\twithout having\nto redeploy. Or share a login with a\tfriend so they can help you experiment!\nFeatures like schmema validation and locking mean you can make these changes\nconfidently, without breaking your app.\n\n![Demo screenshot](public/img/demo-screenshot-locked.png)\n\n## Contributing\n\nContributions are welcome!\n\nPlease open an issue to discuss proposed changes, rather than opening a pull\nrequest directly.\n\n## Development\n\n#### Setup\n\n```bash\nyarn\nbundle\n```\n\n#### Running locally\n\n```bash\nrails s -p 3001\nyarn dev\n```\n\n#### Testing\n\nSetup:\n\n1. Install Chrome\n2. Install chromedriver (`brew install chromedriver` on mac)\n\n```bash\nrspec\nyarn test  # no jest tests yet\n```\n\n**Important note**: Rspec integration tests run against the compiled version of the\napp in `app/assets`. Build with `yarn build` first, or set up capybara to run against\nyour live webpack version (I haven't done this yet, but have ideas in `spec_helper.rb`).\n\n## Maintaining\n\n#### Production build\n\n```bash\n# 1. Build files\nyarn build\n\n# 2. Make an \"Add build files\" commit\ngit commit -a -m \"Add build files\"\n```\n\n#### Deploying\n\nPush to master. This deploys staging.\n\nDeploy prod manually via render UI.\n\n## Similar Tools\n\n* [JSONbin.io](https://jsonbin.io/)\n* [Firebase](https://firebase.google.com/)\n* [AirTable](https://airtable.com)\n* [JSON Schema Validator](https://www.jsonschemavalidator.net/)\n\n## Bookmarks\n\n* [JSON Schema](http://json-schema.org/)\n* [JSON in Postgres](https://blog.codeship.com/unleash-the-power-of-storing-json-in-postgres/)\n\n## Self-hosting\n\nWant to run your own instance of n:point? Go right ahead!\n\nI'd recommend setting it up on [render.com](https://render.com/), which is what\nI use for [npoint.io](https://www.npoint.io).\n\n1. Set up a hosted Potsgres DB in render, and make sure `DATABASE_URL` points there\n2. Configure environment variables. You'll at least need `HOST` (e.g. `npoint.io`)\n3. Use these render settings:\n\n```\n# build command\n./build.sh\n\n# start command\n./start.sh\n```\n\nThe one piece of the app that won't work is password-reset emails, which go\nthrough a Sendgrid account. I recommend deleting the code for this and handling\nit yourself.\n\n## Codebase TODOs / Wishlist\n\n* Add sentry or similar error collection service (search: `TODO(sentry)`)\n* Self-host and use privacy-respecting analytics (search: `TODO(self-host)`)\n* More testing (search: `TODO(test)`)\n\n## Copyright \u0026 License\n\nCopyright (c) 2017-2018 Alexander Zirbel - Code released under the [MIT\nlicense](LICENSE).\u003cbr/\u003en:point and the n:point logo are the property of\nAlexander Zirbel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazirbel%2Fnpoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazirbel%2Fnpoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazirbel%2Fnpoint/lists"}