{"id":47829310,"url":"https://github.com/basf/metis-bff","last_synced_at":"2026-04-03T20:07:15.589Z","repository":{"id":36991814,"uuid":"431299711","full_name":"basf/metis-bff","owner":"basf","description":"Backend-for-frontend for Metis","archived":false,"fork":false,"pushed_at":"2024-02-01T06:11:01.000Z","size":1833,"stargazers_count":7,"open_issues_count":19,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-28T07:42:35.867Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basf.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}},"created_at":"2021-11-24T00:42:39.000Z","updated_at":"2025-08-12T09:21:26.000Z","dependencies_parsed_at":"2023-12-15T02:06:39.938Z","dependency_job_id":"ddc68ae5-ade5-4d00-ac44-edcab3a75fea","html_url":"https://github.com/basf/metis-bff","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/basf/metis-bff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basf%2Fmetis-bff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basf%2Fmetis-bff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basf%2Fmetis-bff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basf%2Fmetis-bff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basf","download_url":"https://codeload.github.com/basf/metis-bff/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basf%2Fmetis-bff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31374101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"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":"2026-04-03T20:07:14.982Z","updated_at":"2026-04-03T20:07:15.580Z","avatar_url":"https://github.com/basf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Metis data management GUI: Backend for Frontend\n\n\u003cp class=\"what_is_metis\"\u003e\u003cdfn\u003eMetis\u003c/dfn\u003e is an open scientific framework, materials data organizer, and collaborative online platform for the nanotechnology research. It was designed for the offline physical and online virtual autonomous laboratories dealing with the materials science. Metis is an AI-ready solution, aiming to bring the recent advances of computer science into a rather conservative area of new materials development and quality control. Metis currently focuses on the X-ray powder diffraction and atomistic simulations. Its development was started in 2021 in BASF (Ludwigshafen am Rhein, Germany) by Bernd Hinrichsen and Evgeny Blokhin.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/basf/metis-backend/blob/master/logo.png\" width=\"300\" /\u003e\u003c/p\u003e\n\n**This is the second part of the whole Metis infra: [GUI](https://github.com/basf/metis-gui) \u0026rlarr; [BFF](https://github.com/basf/metis-bff) \u0026rlarr; [backend](https://github.com/basf/metis-backend).**\n\nWhereas the scientific features of Metis are handled with its backend, this BFF provides user and access management, as well as the backend proxy. The scientific data are represented by the abstract _datasource_ objects, managed by GUI users or scripted clients via the standard application programming interface (API).\n\n\n### Requirements\n\n- `node -v \u003e= 15`\n- `npm -v \u003e= 7`\n- Postgres (any relatively new)\n\nNB to upgrade `node` you may run `npm install -g n \u0026\u0026 n lts` and re-start the shell.\n\n\n## Installation\n\n```bash\ncp conf/env.ini.sample conf/env.ini\nnpm install\nnpm run db-migrate\nnpm run db-seed\n```\n\n\n## Running\n\n### For development mode run the following command:\n\n```bash\nnpm run dev\n```\n\n\n### For production mode run the following command:\n\n```bash\nnpm run start\n```\n\nConfigure the development and production settings in `conf/env.ini` file.\n\n\n## Technical details\n\n![BFF database schema](https://raw.githubusercontent.com/basf/metis-bff/master/bff_schema.png \"BFF Postgres schema\")\n\nThe BFF database schema is presented above (see `db/migrations` script).\n\nBy design, BFF knows very little about the scientific data and is only responsible for the users and access management.\n\nOn top of the `users`, the main concepts mapped onto the database are:\n\n- `datasources` (static data sent to the backend)\n- `calculations` (transitions of data into the other data)\n- `collections` (groups of the data)\n\n### Proxying\n\nNote, that the non-versioned routes without `/v0` will be redirected _as is_ to the backend.\n\n\n## API\n\nThe docs are generated with the `apidoc`:\n\n```\nnpm run apidoc\n```\n\nand, optionally, `swagger`:\n\n```\nnpm run apidoc-swagger\n```\n\nAlso, there is the [Python API client](https://github.com/tilde-lab/metis-client) `metis-client` (on PyPI) consuming all the public Metis API methods.\n\n\n## License\n\nCopyright 2021-2023 BASF SE\n\nBSD 3-Clause\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasf%2Fmetis-bff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasf%2Fmetis-bff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasf%2Fmetis-bff/lists"}