{"id":16513046,"url":"https://github.com/msftserver/print2a.com-api","last_synced_at":"2026-05-08T20:34:05.345Z","repository":{"id":46375245,"uuid":"333661623","full_name":"MSFTserver/print2a.com-api","owner":"MSFTserver","description":"api for print2a.com","archived":false,"fork":false,"pushed_at":"2023-11-22T01:24:03.000Z","size":246,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-02T09:17:38.970Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","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/MSFTserver.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-28T06:01:20.000Z","updated_at":"2022-04-17T18:47:33.000Z","dependencies_parsed_at":"2025-01-12T21:27:24.884Z","dependency_job_id":"ca9b4c00-6cad-4041-8f36-bfe336e08b1a","html_url":"https://github.com/MSFTserver/print2a.com-api","commit_stats":{"total_commits":176,"total_committers":1,"mean_commits":176.0,"dds":0.0,"last_synced_commit":"8189f949dfdeef38d4ea3fd7ce2635de81295b57"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MSFTserver/print2a.com-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSFTserver%2Fprint2a.com-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSFTserver%2Fprint2a.com-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSFTserver%2Fprint2a.com-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSFTserver%2Fprint2a.com-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MSFTserver","download_url":"https://codeload.github.com/MSFTserver/print2a.com-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSFTserver%2Fprint2a.com-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32796008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-11T16:07:03.130Z","updated_at":"2026-05-08T20:34:05.330Z","avatar_url":"https://github.com/MSFTserver.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Node.js CI](https://github.com/MSFTserver/print2a-api/workflows/Node.js%20CI/badge.svg)\n\n# Print2a Filesystem API\n\n## Overview\n\nThis is a REST API and Displays directories on the fileystem.\n\n## Quickstart\n\n`npm install \u0026\u0026 npm run start`\n\n### Implementation\n\nThis is a ECMAScript 2015+ implementation using node 12+ with the relatively [recent Node support ESM `import` syntax](https://nodejs.org/api/esm.html).\n\nWe use a classic Express routing pattern with query string parameters and typical REST HTTP verbs.\n\nThere is no database; persistence is managed with the filesystem using async Node `fs` operations.\n\n## Docker management\n\nWe use docker to package the container, with a minimalist [Dockerfile](Dockerfile).\n\n- Build: `docker build -t \u003crepository\u003e/\u003cimage_name\u003e .`\n- Run: `docker run -p 49160:8080 -d \u003crepository\u003e/\u003cimage_name\u003e`\n- View processes: `docker ps`\n- Cleanup containers: `docker kill $(docker ps -q)`\n\n### Local development\n\nInstall dependencies: `npm install`\n\nRun with livereloading using nodemon: `npm start` which uses [nodemon](https://www.npmjs.com/package/nodemon) for livereloading.\n\nManagement scripts are defined in [package.json](package.json).\n\n### Testing\n\nThe [test suite](test/app.test.js) is managed with Mocha using a BDD sytax.\n\nThe existing tests are a good representation of feature coverage provided by the API.\n\n### Swagger API documentation\n\nEach API endpoint is fully documented with inline JSDoc comments (in [src/server.js]) and a we use [Swagger UI Express](https://www.npmjs.com/package/swagger-ui-express) to build a Swagger spec and render a [Swagger UI](http://0.0.0.0:8080/api-docs/) at `/api-docs`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsftserver%2Fprint2a.com-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsftserver%2Fprint2a.com-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsftserver%2Fprint2a.com-api/lists"}