{"id":16621617,"url":"https://github.com/jaredce/comparisontech","last_synced_at":"2025-10-13T08:34:30.360Z","repository":{"id":111784761,"uuid":"334729859","full_name":"JaredCE/comparisonTech","owner":"JaredCE","description":null,"archived":false,"fork":false,"pushed_at":"2021-01-31T18:48:44.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T08:28:18.830Z","etag":null,"topics":[],"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/JaredCE.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-31T18:42:38.000Z","updated_at":"2021-01-31T18:48:46.000Z","dependencies_parsed_at":"2023-03-17T11:15:38.175Z","dependency_job_id":null,"html_url":"https://github.com/JaredCE/comparisonTech","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JaredCE/comparisonTech","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaredCE%2FcomparisonTech","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaredCE%2FcomparisonTech/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaredCE%2FcomparisonTech/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaredCE%2FcomparisonTech/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JaredCE","download_url":"https://codeload.github.com/JaredCE/comparisonTech/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaredCE%2FcomparisonTech/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014317,"owners_count":26085492,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"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":[],"created_at":"2024-10-12T02:47:51.038Z","updated_at":"2025-10-13T08:34:30.355Z","avatar_url":"https://github.com/JaredCE.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Message Board\r\n\r\nThis uses pouchDB as it's data store.  There should already be some generated data in the `/data/` folder, however, if this is missing run the following in a temrinal:\r\n\r\n```\r\ncd data\r\nnode index.js\r\ncd ..\r\n```\r\n\r\nTo run the API\r\n\r\n```\r\nnpm ci --production\r\nNODE_ENV=production node application.js\r\n```\r\n\r\nYou can then call: \r\n* GET: localhost:3000/v1/messages/messages/ to get all messages\r\n* PUT: localhost:3000/v1/messages/message/ with a x-www-form-urlencoded body of `{title: 'abc', message: 'this is a message'}`\r\n\r\nAll other routes should 404.\r\n\r\nTo run tests:\r\n\r\n```\r\nnpm i --save-dev\r\nnpm test\r\n```\r\n\r\n## Some design considerations\r\n\r\nAll routes should be authenticated, possibly by oAuth JWTs.\r\n\r\nData passed in and passed out should be validated using AJV for JSON schema validation.  Data passed in should also be sanitised before adding to a database.  \r\n\r\nThis should really run behind a web server that can offer rate limiting protection.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredce%2Fcomparisontech","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredce%2Fcomparisontech","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredce%2Fcomparisontech/lists"}