{"id":15416867,"url":"https://github.com/ussserrr/print-cms","last_synced_at":"2025-09-09T08:46:38.807Z","repository":{"id":113442575,"uuid":"382483686","full_name":"ussserrr/print-cms","owner":"ussserrr","description":null,"archived":false,"fork":false,"pushed_at":"2021-07-14T10:35:37.000Z","size":7711,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T02:29:11.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/ussserrr.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-07-02T23:15:21.000Z","updated_at":"2021-07-14T10:35:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"2828839f-aaaf-4534-b541-3c1342562648","html_url":"https://github.com/ussserrr/print-cms","commit_stats":{"total_commits":34,"total_committers":3,"mean_commits":"11.333333333333334","dds":0.05882352941176472,"last_synced_commit":"db29990d3139c4076c5b4fef24762144f9694221"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ussserrr/print-cms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fprint-cms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fprint-cms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fprint-cms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fprint-cms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ussserrr","download_url":"https://codeload.github.com/ussserrr/print-cms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fprint-cms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274268373,"owners_count":25253390,"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-09-09T02:00:10.223Z","response_time":80,"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-01T17:14:03.195Z","updated_at":"2025-09-09T08:46:38.752Z","avatar_url":"https://github.com/ussserrr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Print service control panel\nFront-end companion for [print-service](https://github.com/ussserrr/print-service).\n\n\n## Demo\nDesktop:\n\n![desktop](/demo/desktop/safari.gif)\n\n\nMobile:\n\n![mobile](/demo/mobile/safari.gif)\n\n\n## Technologies overview\n - Latest \u0026 greatest NodeJS (v16 atm)\n - React with Hooks\n - First-class latest TypeScript support: strong typing system\n - Base Web components library. Advantages:\n   - Nice look :)\n   - Light/dark theme with hot swapping\n   - Actively developing by folks of Uber\n   - CSS-in-JS approach – modular structure, no separate style files\n   - Convenient features (keyboard navigation, tooltips, accessibility, i18n)\n   - Adaptive desktop/mobile design – only minor, mostly layout, adjustments are needed\n - urql GraphQL engine\n   - Fits well with the React hooks paradigma\n   - Built-in smart cache (can be easily further improved by enabling already shipped *normalized* caching mechanism)\n   - File uploads (multipart spec)\n   - Support GraphQL extensions convention\n   - Works well with errors\n - Single-page progressive web app (SPA PWA): installable as a regular application\n - Client-side routing by react-router with a centralized routing config\n - Breadcrumbs (including dynamic) by use-react-router-breadcrumbs\n - Page title (including dynamic) by react-router-title\n - Luxon instead of Moment.js – modern dates managing package\n - Testing-ready configuration (via Jest)\n - Smart linter provided by create-react-app\n - Docker/Kubernetes-enabled solution\n   - Small resulting image size – approx. 27 Mb including Nginx static server\n\n### Some software strategies\n - Fetch API for REST requests\n - Lodash library for neat yet expressive code (where it is applicable)\n - Session storage for search filters\n - Same auto-generated GraphQL schema definitions as on server\n - Generic form/dialog widgets (HOC) suitable for typical data models\n\n\n## Useful commands\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). See its docs for possible actions/documentation.\n\n### Start\nDevelopment mode:\n```bash\n$ REACT_APP_API_URL=http://192.168.1.214:4000/api npm run start\n```\n\n\nIn production, intended to be supplied with Docker-Nginx + Kubernetes. See [Dockerfile](/Dockerfile), [k8s configs](/k8s).\n\n## Roadmap\nSee in-place TODOs to get a look on what can be improved in the future.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fprint-cms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fussserrr%2Fprint-cms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fprint-cms/lists"}