{"id":42280018,"url":"https://github.com/projectestac/check-list","last_synced_at":"2026-01-27T08:18:40.753Z","repository":{"id":50765807,"uuid":"164423631","full_name":"projectestac/check-list","owner":"projectestac","description":"Utility to register standardized checks in ICT equipment","archived":false,"fork":false,"pushed_at":"2025-11-17T08:53:21.000Z","size":8021,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-11-17T10:23:13.127Z","etag":null,"topics":["educational-institutions","ict-procurement","material-ui","php","react","socket-io"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projectestac.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-07T11:36:40.000Z","updated_at":"2025-11-17T08:53:17.000Z","dependencies_parsed_at":"2024-01-14T19:46:07.905Z","dependency_job_id":"59a1fc12-b788-4ea7-b87e-959e7f7f7286","html_url":"https://github.com/projectestac/check-list","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/projectestac/check-list","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectestac%2Fcheck-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectestac%2Fcheck-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectestac%2Fcheck-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectestac%2Fcheck-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectestac","download_url":"https://codeload.github.com/projectestac/check-list/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectestac%2Fcheck-list/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28809460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"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":["educational-institutions","ict-procurement","material-ui","php","react","socket-io"],"created_at":"2026-01-27T08:18:37.134Z","updated_at":"2026-01-27T08:18:40.746Z","avatar_url":"https://github.com/projectestac.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CheckList\n\nUtility to perform standardized checks in ICT equipment.\n\nCheckList is a [PWA](https://medium.freecodecamp.org/progressive-web-apps-101-the-what-why-and-how-4aa5e9065ac2) (_Progressive Web App_) used in Catalan public schools to perform standardized checks in the process of delivery and installation of new ICT equipment.\n\nDemo site: https://met.xtec.cat/checklist\u003cbr\u003e\n(school code: _12345678_ password: _demo_)\n\n### Usage\n\nThe scenario where the application is used has the following elements:\n\n- Each school has a unique ID (currently formed by 8 numerical digits) and a password known only to the school principals.\n\n- Schools have had an allocation of points that allowed them to make a selection of products in a catalog of ICT equipment, based on their educational project. The products are delivered and installed in schools by supplier companies. At the time of installation, schools must check that everything works correctly and is well configured.\n\n- Each ICT product type has a unique alphanumeric identifier and a specific set of tests to be carried out.\n\n- Several people can simultaneously perform the tests at the ICT equipment of each school, using different devices.\n\n### Main components\n\nThe PWA has three main components, organized in three separated directories:\n\n- __`/api`__: a [REST API](https://en.m.wikipedia.org/wiki/Representational_state_transfer) currently powered by PHP scripts backed by a MySQL 8.0 database.\n\n- __`/app`__: the front end PWA made with [React](https://reactjs.org/) components, most based on [Material-UI](https://material-ui.com/) and built with [create-react-app](https://github.com/facebook/create-react-app) scripts.  \n\n- __`/socketsrv`__: a [WebSocket](https://en.wikipedia.org/wiki/WebSocket) service powered by [Socket.io](https://socket.io/), used to synchronize all instances of the PWA running at the same time on different devices. For more information about this component see: [socketsrv/README.md](https://github.com/projectestac/check-list/blob/master/socketsrv/README.md).\n\nIn addition to this, three more folders are provided:\n\n- __`/data`__: Contains product pictures, the application icons and a SQL file (`checklist-demo.sql`) that can be used to initialize the MysQL database with example data. It contains also an utility (`create_units.js`) used to generate SQL scripts from data in JSON format.\n\n- __`/.devilbox`__: Specific settings for [Devilbox](http://devilbox.org/), used to glue all components in a powerful development platform based on [Docker](https://www.docker.com/) containers. For more information see: [.devilbox/README.md](https://github.com/projectestac/check-list/blob/master/.devilbox/README.md).\n\n- __`/.vscode`__: This folder contains a script used to debug react sessions with Chromium in [Visual Studio Code](https://code.visualstudio.com/).\n\n### Prerequisites\n\n- [NodeJS](https://nodejs.org/) is needed to build the main application and launch the webSocket server. Linux users are advised to use the [official LTS repositories](https://github.com/nodesource/distributions/blob/master/README.md).\n\n- A [LAMP](https://en.wikipedia.org/wiki/LAMP_(software_bundle)) environment providing Apache or Nginx, PHP and MySQL or MariaDB.\n\n### Setting up\n\nFirst of all, the [NPM](https://www.npmjs.com/) components must be loaded in `app` and `socketsrv`:\n\n```bash\n# Go to the main project directory:\n$ cd path/to/checklist\n\n# Go to the 'app' folder and install the required npm components:\n$ cd app\n$ npm install\n```\n\nThe same process should be done with the socket server:\n\n```bash\n# Go to the main project directory:\n$ cd path/to/checklist\n\n# Go to the 'socketsrv' folder and install the required components:\n$ cd socketsrv\n$ npm install\n```\n\n### Common operations\n\nFrom here, the most usual operations are:\n\n#### Start the socket server:\n```bash\n$ cd path/to/checklist\n$ cd socketsrv\n$ SOCKET_PORT=8000 DEBUG=chklist node index.js\n```\n\n#### Launch the development server:\n```bash\n$ cd path/to/checklist\n$ cd app\n$ npm start\n```\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr\u003e\nYou will also see any lint errors in the console.\n\n#### Build the main application:\n```bash\n$ cd path/to/checklist\n$ cd app\n$ npm run build\n```\nBuilds the app for production to the `app/build` folder.\u003cbr\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\u003cbr\u003e\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.\n\nFor more information about this and other available scripts check the [Create React App](https://facebook.github.io/create-react-app/) site.\n\n### License and Credits\n\n_CheckList_ has been created by the ICT in Education Unit of the Department of Education of the Government of Catalonia.\n\nReleased under the terms of the [European Union Public License v. 1.2](https://spdx.org/licenses/EUPL-1.2.html).\n\nThis application uses the following open source components:\n- [React](https://reactjs.org/) - A JavaScript library for building user interfaces\n- [Material UI](https://material-ui.com/) - React components that implement Google's Material Design\n- [Socket.IO](https://socket.io/) - Enables real-time, bidirectional and event-based communication\n- [json2csv](http://www.mircozeiss.com/json2csv/) - Converts json into csv\n- [PHP](https://php.net/) - Used on the backend API\n- [MySQL](https://dev.mysql.com/) - To store the collected data\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectestac%2Fcheck-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectestac%2Fcheck-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectestac%2Fcheck-list/lists"}