{"id":30697331,"url":"https://github.com/codemelted/codemelted.rs","last_synced_at":"2026-04-02T18:29:18.773Z","repository":{"id":310476832,"uuid":"1028631035","full_name":"CodeMelted/codemelted.rs","owner":"CodeMelted","description":"The aim of this project is to deliver a Swiss Army Knife module to aid software engineers in building full stack solutions for their applications. Utilizing the Rust programming language provides a memory safe language with the ability to engineer solutions for multiple build targets.","archived":false,"fork":false,"pushed_at":"2026-03-29T22:09:36.000Z","size":7009,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T00:52:03.777Z","etag":null,"topics":["cli","cli-app","js-lib","js-library","js-module","pwsh","pwsh-module","pwsh-scripts","rust","rust-crate","rust-lang","rust-library","rust-wasm","rust-web"],"latest_commit_sha":null,"homepage":"https://rs.codemelted.com","language":"JavaScript","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/CodeMelted.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":"support/gists.html","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":"2025-07-29T20:25:26.000Z","updated_at":"2026-03-29T22:06:07.000Z","dependencies_parsed_at":"2025-09-11T03:37:30.100Z","dependency_job_id":"6a843349-4c06-4aa5-b54f-b40720d1ad7b","html_url":"https://github.com/CodeMelted/codemelted.rs","commit_stats":null,"previous_names":["codemelted/codemelted.rs"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/CodeMelted/codemelted.rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMelted%2Fcodemelted.rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMelted%2Fcodemelted.rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMelted%2Fcodemelted.rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMelted%2Fcodemelted.rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeMelted","download_url":"https://codeload.github.com/CodeMelted/codemelted.rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMelted%2Fcodemelted.rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31312902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"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":["cli","cli-app","js-lib","js-library","js-module","pwsh","pwsh-module","pwsh-scripts","rust","rust-crate","rust-lang","rust-library","rust-wasm","rust-web"],"created_at":"2025-09-02T09:08:18.104Z","updated_at":"2026-04-02T18:29:18.764Z","avatar_url":"https://github.com/CodeMelted.png","language":"JavaScript","readme":"\u003ccenter\u003e\r\n  \u003cbr /\u003e\u003cimg style=\"width: 100%; max-width: 375px;\" src=\"https://codemelted.com/assets/images/logo-codemelted-rs.png\" /\u003e\u003cbr /\u003e\r\n\u003c/center\u003e\r\n\u003ch1\u003e\u003cimg style=\"height: 35px;\" src=\"https://codemelted.com/assets/images/icon-rust.png\" /\u003e codemelted.rs Crate\u003c/h1\u003e\r\n\r\n*LAST UPDATED: 2026-MAR-29*\r\n\r\nThe aim of this project is to deliver a swiss army knife module to aid software engineers in building full stack solutions for their applications. Utilizing the Rust programming language, the module serves as a backbone to engineer solutions for multiple build targets.\r\n\r\nThe module serves as a consumable crate for software engineers to build their own custom backend / desktop services applications. Secondly built into the module is a Command Line Interface (CLI) to target script based solutions with a powerful CLI that will work the same regardless of the operating system. Lastly parts of the module along with the `codemelted.js` implementing the `codemelted` namespace will build a WASM / JS consumable modules to build powerful Single / Progressive Web Applications.\r\n\r\n\u003ccenter\u003e\r\n  \u003cbr /\u003e\r\n  \u003ca href=\"https://www.buymeacoffee.com/codemelted\" target=\"_blank\"\u003e\r\n    \u003cimg height=\"40px\" src=\"https://codemelted.com/assets/images/icon-bmc-button.png\" /\u003e\r\n  \u003c/a\u003e\r\n  \u003cbr /\u003e\u003cbr /\u003e\r\n  \u003cp\u003eIf you find this module useful, any support is greatly appreciated. Thank you! 🙇\u003c/p\u003e\r\n\u003c/center\u003e\r\n\r\n**Table of Contents**\r\n\r\n- [GETTING STARTED](#getting-started)\r\n  - [Features](#features)\r\n  - [Usage](#usage)\r\n  - [Asynchronous Processing Notes](#asynchronous-processing-notes)\r\n- [MODULE INFORMATION](#module-information)\r\n  - [Crate Dependencies](#crate-dependencies)\r\n  - [Crate Versioning](#crate-versioning)\r\n  - [License](#license)\r\n\r\n# GETTING STARTED\r\n\r\n## Features\r\n\r\n\u003ccenter\u003e\u003cimg src=\"https://codemelted.com/developer/mdbook/models/use-case-model.drawio.png\" /\u003e\u003c/center\u003e\r\n\r\n1. The `codemelted.rs` is a single file implementing the [Domain Use Cases](https://codemelted.com/developer/mdbook/index.html) domain specific use cases.\r\n2. These use cases straddle areas of knowledge software engineers should be familiar with regardless of a given programming language, SDK, or chosen framework.\r\n3. Each of the use cases are implemented as a series of `uc_xxx` functions reflecting the use case diagram above.\r\n4. The `codemelted.rs` is organized by each implemented use case with data definitions first and function implementations after.\r\n5. Each use case function is fully documented to include example code and mermaid diagrams.\r\n6. Any use case function that is currently being developed is marked as such.\r\n\r\n## Usage\r\n\r\nYou can access the use case functions via the `codemelted::uc_xxx()`. The following example demonstrates utilizing the `codemelted` module.\r\n\r\n```rust\r\n// Access the module objects of interest. In this case the logger module objects.\r\nuse codemelted::{CLogLevel, CLogRecord, CLoggedEventHandler};\r\n\r\n// Setup a log handler for post logging.\r\nfn log_handler(data: CLogRecord) {\r\n  // Do something, say post to the cloud about the event\r\n}\r\ncodemelted::logger_handler(Some(log_handler));\r\n\r\n// Set the log level\r\ncodemelted::logger_level(CLogLevel::Warning);\r\n\r\n// Now later on in your code....\r\n// This will be reported to the console and then to the CLoggedEventHandler.\r\ncodemelted::logger_log(CLogLevel::Error, \"Oh Know!\");\r\n```\r\n\r\nThe above is a basic example. All modules are fully documented with examples as you use the *codemelted* crate.\r\n\r\n## Asynchronous Processing Notes\r\n\r\n1. The `codemelted` crate does not utilize `async` / `await` / `future` syntax.\r\n2. Code is synchronous in the `codemelted` module allowing the software engineer to choose an appropriate thread model.\r\n3. For asynchronous crates utilized by the `codemelted` module, they are transformed into synchronous APIs via the `tokio::Runtime`.\r\n4. For items requiring threading within the `codemelted` crate, they provide a synchronous API and implement the minimum threading necessary to achieve the module API goal.\r\n\r\n# MODULE INFORMATION\r\n\r\nThe following sub-sections cover various aspects the `codemelted.rs` module information. It is a single file implementation of the identified use cases.\r\n\r\n## Crate Dependencies\r\n\r\nThe goal of the `codemelted.rs` is to limit 3rd party items. However, some CodeMelted DEV use cases, thanks to the hard work of the developers who maintain the crates below, would not have been possible.\r\n\r\n- *\u003ca href=\"https://crates.io/crates/btleplug\" target=\"_blank\"\u003ebtleplug:\u003c/a\u003e* Supports the *HW Domain Use Case* providing the necessary interface to Bluetooth devices.\r\n- *\u003ca href=\"https://crates.io/crates/chrono\" target=\"_blank\"\u003echrono:\u003c/a\u003e* Utilized to support the time formatting utilized in the *Logger Domain Use Case*.\r\n- *\u003ca href=\"https://crates.io/crates/json\" target=\"_blank\"\u003ejson:\u003c/a\u003e* Forms the entire backbone of the *Json Domain Use Case*. The main `json::JsonValue` is typed alias as `CObject` to match other CodeMelted DEV module implementations.\r\n- *\u003ca href=\"https://crates.io/crates/online\" target=\"_blank\"\u003eonline:\u003c/a\u003e* Utilized with the *Runtime Domain Use Case* to determine if an app has access to the Internet or not.\r\n- *\u003ca href=\"https://crates.io/crates/reqwest\" target=\"_blank\"\u003ereqwest:\u003c/a\u003e* Supports the *Network Domain Use Case* fetch call forming the basis for both the request and response to a server REST API call.\r\n- *\u003ca href=\"https://crates.io/crates/rouille\" target=\"_blank\"\u003erouille:\u003c/a\u003e* Supports the `network_serve` and `network_upgrade_web_socket` calls of the *Network Domain Use Case* forming the basis to upgrade a HTTP request wanting to upgrade to a bi-directional web socket. This will create a `CWebSocketProtocol` that represents a bi-directional server socket. *FYI: The following  warning occurs with this crate. Will keep an eye out on updates with this crate, see if an assist can be made to the owner, or look for a new crate to utilize with the completed `codemelted.rs` module design.*\r\n  \u003e warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0\r\n  \u003e note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`\r\n- *\u003ca href=\"https://crates.io/crates/rpassword\" target=\"_blank\"\u003erpassword:\u003c/a\u003e* Supports the *Console Domain Use Case* to allow for getting a user's password from the console without reflecting it to the screen.\r\n- *\u003ca href=\"https://crates.io/crates/rusqlite\" target=\"_blank\"\u003erusqlite:\u003c/a\u003e* Supports the *DB Domain Use Case* providing the ability to have an embedded sqlite database. The crate takes care of \"installing\" the items necessary to build the sqlite database file.\r\n- *\u003ca href=\"https://crates.io/crates/simple-mermaid\" target=\"_blank\"\u003esimple-mermaid:\u003c/a\u003e* Supports the crate documentation for the `codemelted.rs` file to include mermaid models where appropriate to help describe each of the modules.\r\n- *\u003ca href=\"https://crates.io/crates/serialport\" target=\"_blank\"\u003eserialport:\u003c/a\u003e* Supports the *HW Domain Use Case* providing the necessary interface to Serial ports.\r\n- *\u003ca href=\"https://crates.io/crates/sysinfo\" target=\"_blank\"\u003esysinfo:\u003c/a\u003e* This provides backbone for the *Monitor Domain Use Case* objects that support monitoring different aspects of a host operating system..\r\n- *\u003ca href=\"https://crates.io/crates/tokio\" target=\"_blank\"\u003etokio:\u003c/a\u003e* Utilized to allow for the consumption of asynchronous crates and turn them into the `codemelted` crate synchronous design.\r\n- *\u003ca href=\"https://crates.io/crates/url\" target=\"_blank\"\u003eurl:\u003c/a\u003e* Supports url validation as part of the *JSON Domain Use Case*.\r\n\r\n## Crate Versioning\r\n\r\nThe versioning of the `codemelted` crate will utilize a modified semantic versioning `X.Y.Z` with the following rules for the numbering scheme.\r\n\r\n- **X:** Year of release. Each new year resets the `Y.Z` values to `1`\r\n- **Y:** Breaking change to one of the use case functions or upgrade of dependencies requiring considerations within an app. A change in this value resets `.Z` to `1`.\r\n- **Z:** Bug fix, new use case function implemented, or expansion of a use case function. Continuously updated by adding one with each new release unless reset by `X.Y` changes.\r\n\r\n## License\r\n\r\nMIT License\r\n\r\n© 2025-2026 Mark Shaffer\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n","funding_links":["https://www.buymeacoffee.com/codemelted"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemelted%2Fcodemelted.rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemelted%2Fcodemelted.rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemelted%2Fcodemelted.rs/lists"}