{"id":20595797,"url":"https://github.com/azasypkin/frunze-api","last_synced_at":"2026-04-24T12:31:57.596Z","repository":{"id":79821298,"uuid":"95367540","full_name":"azasypkin/frunze-api","owner":"azasypkin","description":"Rust API server for Frunze Web IDE https://github.com/azasypkin/frunze.","archived":false,"fork":false,"pushed_at":"2018-10-07T19:34:59.000Z","size":318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-13T14:11:32.705Z","etag":null,"topics":["iot-platform","mongodb","rest-api","rust","rust-lang"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azasypkin.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}},"created_at":"2017-06-25T15:14:32.000Z","updated_at":"2019-09-01T17:13:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"e150fbfc-97f4-44a7-9b59-df03c3a487fa","html_url":"https://github.com/azasypkin/frunze-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/azasypkin/frunze-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azasypkin%2Ffrunze-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azasypkin%2Ffrunze-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azasypkin%2Ffrunze-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azasypkin%2Ffrunze-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azasypkin","download_url":"https://codeload.github.com/azasypkin/frunze-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azasypkin%2Ffrunze-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32223866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["iot-platform","mongodb","rest-api","rust","rust-lang"],"created_at":"2024-11-16T08:14:07.146Z","updated_at":"2026-04-24T12:31:57.591Z","avatar_url":"https://github.com/azasypkin.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frunze API Server\n\n[![Build Status](https://travis-ci.org/azasypkin/frunze-api.svg?branch=master)](https://travis-ci.org/azasypkin/frunze-api)\n[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://raw.githubusercontent.com/azasypkin/frunze-api/master/LICENSE)\n\nRust API server supporting [__Frunze Web IDE__](https://github.com/azasypkin/frunze).\n\n## Development\n\n__Frunze API Server__ is API server written in Rust that relies on MongoDB database.\n\n### Database\n\nTo setup database please follow the instructions from [Frunze repository](https://github.com/azasypkin/frunze/blob/master/README.md#database).\n\n### Bill of Materials API\n\nTo estimate the price of your project, we should gather real-time offers for every project hardware component from the \ndistributors (DigiKey, Mouser etc.) and we leverage [Octopart](https://octopart.com/) for that. That means you should\nsupply `--bom-api-key xxxxxx` command line argument with the proper [Octopart API Key](https://octopart.com/api/home). \n\n### Schematic Export API\n\nTo locally deploy Schematic Export API please follow the instructions from [Frunze repository](https://github.com/azasypkin/frunze/blob/master/README.md#frunze).\n\n### Run Server\n\nRun development API server with (localhost:8009 by default):\n\n```bash\n$ cargo run\n```\n\nor if you'd like to use custom IP address or/and port (don't forget to re-configure client part as well):\n\n```bash\n$ cargo run -- --ip 127.0.0.2 --port 8008\n```\n\nwith Export API key:\n```bash\n$ RUST_LOG=frunze_api cargo run -- --bom-api-key xxxxxxxx\n```\n\nFor custom MongoDB instance use the following parameters:\n\n```bash\n$ cargo run -- ... --db-ip 127.0.0.3 --db-port 27018 --db-name my-own-db-name\n```\n\nThere is also option to run the API server in a dedicated Docker container if you just want to check it out:\n\n```bash\n$ docker build -t frunze-api:dev .\n$ docker run -d --name frunze-api -p 8009:8009 frunze-api:dev\n```\n\n### Build Server\n\nRun `cargo build`. The build artifacts will be stored in the `target/` directory. Use `--release` flag\nfor a production build.\n\n### Run unit tests\n\nServer part unit tests rely on `stainless` crate and hence require Rust Nightly (the server itself works fine with Rust Stable). It's recommended\nto use [`rustup`](https://rustup.rs) to deal with several Rust versions simultaneously. Let's say you use `rustup`, then to run unit tests\njust run:\n\n```bash\n$ cargo +nightly test\n```\n\n### Run Rust linter and source code formatter\n\nTo run [Clippy](https://github.com/Manishearth/rust-clippy) checks:\n\n```bash\n$ cargo +nightly clippy\n```\n\nTo format project with [RustFmt](https://github.com/rust-lang-nursery/rustfmt):\n\n```bash\n$ cargo +nightly fmt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazasypkin%2Ffrunze-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazasypkin%2Ffrunze-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazasypkin%2Ffrunze-api/lists"}