{"id":25939028,"url":"https://github.com/rustfinity/rustfinity","last_synced_at":"2025-03-04T04:02:21.837Z","repository":{"id":237369371,"uuid":"794394108","full_name":"rustfinity/rustfinity","owner":"rustfinity","description":"Learn and Practice the Rust programming language the effective way.","archived":false,"fork":false,"pushed_at":"2025-02-15T15:21:13.000Z","size":500,"stargazers_count":652,"open_issues_count":19,"forks_count":20,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-15T16:24:02.019Z","etag":null,"topics":["learning","practice","rust"],"latest_commit_sha":null,"homepage":"https://rustfinity.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rustfinity.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}},"created_at":"2024-05-01T03:52:43.000Z","updated_at":"2025-02-15T15:21:17.000Z","dependencies_parsed_at":"2024-05-01T04:42:20.812Z","dependency_job_id":"ae697cab-60bd-4ef7-9150-11976b2b6a96","html_url":"https://github.com/rustfinity/rustfinity","commit_stats":null,"previous_names":["dcodesdev/rustfinity.com","rustfinity/rustfinity"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustfinity%2Frustfinity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustfinity%2Frustfinity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustfinity%2Frustfinity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustfinity%2Frustfinity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rustfinity","download_url":"https://codeload.github.com/rustfinity/rustfinity/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241780503,"owners_count":20019061,"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","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":["learning","practice","rust"],"created_at":"2025-03-04T04:02:20.322Z","updated_at":"2025-03-04T04:02:21.828Z","avatar_url":"https://github.com/rustfinity.png","language":"Rust","readme":"[![Rustfinity Banner](./images/rustfinity-header.png)](https://rustfinity.com)\n\n# Rustfinity\n\n\u003cp\u003e\n  \u003ca href=\"https://rustfinity.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Rustfinity%20Docs-18181B?style=flat\u0026logo=rust\" alt=\"Website\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dcodesdev/rustfinity.com/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/dcodesdev/rustfinity.com.svg?style=flat\u0026colorA=18181B\u0026colorB=28CF8D\" alt=\"Issues\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dcodesdev/rustfinity.com/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/dcodesdev/rustfinity.com.svg?style=flat\u0026colorA=18181B\u0026colorB=28CF8D\" alt=\"Pull Requests\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRustfinity is an **interactive learning platform** dedicated to helping Rust developers of all levels learn and practice Rust programming concepts.  \n**[Visit our website → rustfinity.com](https://rustfinity.com)** to explore challenges, tutorials, and everything you need to level up your Rust skills!\n\n\u003e **Why Rustfinity?**\n\u003e\n\u003e - **Hands-on Learning**: Practice your Rust skills with real challenges in a fun environment.\n\u003e - **Comprehensive Exercises**: From basics to advanced topics—there’s something for everyone.\n\u003e - **Engaging Community**: Contribute, discuss, and grow alongside other Rust enthusiasts!\n\n---\n\n## Table of Contents\n\n- 🚀 [Getting Started](#-getting-started)\n- 📂 [Folder Structure](#-folder-structure)\n  - [challenges/](#challenges)\n  - [crates/](#crates)\n- 🤖 [Crates](#-crates-details)\n  - [cli](#cli)\n  - [rustfinity-runner](#rustfinity-runner)\n  - [syntest](#syntest)\n- ❤️ [Contribute](#-contribute)\n- 🏠 [Local Development](#-local-development)\n- 🔗 [Follow Us](#-follow-us)\n- ⚖️ [License](#-license)\n\n---\n\n## 🚀 Getting Started\n\n1. **Head to [rustfinity.com](https://rustfinity.com)**  \n   Explore available challenges and pick the ones you want to tackle.\n2. **Try out the `cli` crate (optional)**  \n   You can download challenges and practice them locally right from your terminal.\n3. **Dive into the code**  \n   Explore this repository to see how challenges and crates are structured.\n\n---\n\n## 📂 Folder Structure\n\n```bash\n.\n├── challenges/\n│   ├── challenge-1/\n│   │   ├── description.md\n│   │   ├── src/\n│   │   │   ├── lib.rs\n│   │   │   └── starter.rs\n│   │   └── tests/\n│   │       └── tests.rs\n│   └── challenge-2/ (and so on...)\n└── crates/\n    ├── cli\n    ├── rustfinity-runner\n    └── syntest\n```\n\n### \u003ca name=\"challenges\"\u003echallenges/\u003c/a\u003e\n\nThis directory holds all the coding challenges served on [rustfinity.com](https://rustfinity.com). Feel free to submit new challenges, improve existing ones, or solve them locally using our CLI.\n\n### \u003ca name=\"crates\"\u003ecrates/\u003c/a\u003e\n\nThis folder contains multiple Rust crates that power the Rustfinity platform.\n\n---\n\n## 🤖 \u003ca name=\"crates-details\"\u003eCrates\u003c/a\u003e\n\n### \u003ca name=\"cli\"\u003e`cli`\u003c/a\u003e\n\n- **What is it?**  \n  The Rustfinity Command-Line Interface to help you **download, solve, and submit** Rustfinity challenges locally.\n- **Key Features**\n  - Download any challenge directly to your local environment\n  - Submit solutions with `rustfinity submit` which redirects you to the challenge page with your solution\n\n### \u003ca name=\"rustfinity-runner\"\u003e`rustfinity-runner`\u003c/a\u003e\n\n- **What is it?**  \n  A crate designed for running challenge tests inside a secure Docker container.\n- **Key Features**\n  - Spins up a temporary Docker container to safely execute user code\n  - Logs outputs and results from test runs\n  - Ensures a clean environment for each challenge submission\n\n### \u003ca name=\"syntest\"\u003e`syntest`\u003c/a\u003e\n\n- **What is it?**  \n  A specialized testing library built on top of Rust’s [`syn`](https://docs.rs/syn) library to analyze and validate Rust code syntax.\n- **Key Features**\n  - Parse Rust AST (Abstract Syntax Tree) for testable patterns\n  - Provides an easy interface for writing **syntax-based** tests\n  - Helps ensure your Rust code meets style and syntactic guidelines\n\n---\n\n## ❤️ Contribute\n\nWe’d love your help! Whether it’s fixing bugs, adding challenges, or improving docs, every bit of help **matters**.\n\n1. **Check out our [issues](https://github.com/dcodesdev/rustfinity.com/issues)**: Found a bug or want to suggest an enhancement? Open an issue!\n2. **Fork \u0026 PR**: Fork the repo, make changes, and submit a pull request.\n3. **Join our Discord**: [Join our Discord server](https://discord.gg/8GRcUqY48B) to discuss ideas, ask questions, or just hang out with the community.\n4. **Spread the word**: Share Rustfinity with your friends, colleagues, or on social media.\n\n---\n\n## 🏠 Local Development\n\nReady to hack on Rustfinity locally? Here’s how:\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/dcodesdev/rustfinity.com.git\ncd rustfinity.com\n\n# 2. (Optional) Switch to a new branch for your work\ngit checkout -b my-new-feature\n\n# 3. Explore and build\ncargo build\n```\n\nWe recommend installing [Docker](https://www.docker.com/) if you want to test the `rustfinity-runner` crate in a containerized environment.\n\n---\n\n## 🔗 Follow Us\n\nStay updated with the latest challenges, features, and announcements!\n\n\u003cp\u003e\n  \u003ca href=\"https://x.com/rustfinity\"\u003e\u003cimg src=\"https://img.shields.io/badge/X-18181B?style=flat\u0026logo=x\u0026logoColor=white\" alt=\"X\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dcodesdev/rustfinity.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/GitHub-18181B?style=flat\u0026logo=github\u0026logoColor=white\" alt=\"GitHub\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/8GRcUqY48B\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-18181B?style=flat\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=rustfinity/rustfinity\u0026type=Date)](https://star-history.com/#rustfinity/rustfinity\u0026Date)\n\n---\n\n## ⚖️ License\n\nThis project is licensed under the [Rustfinity Proprietary License](https://github.com/dcodesdev/rustfinity.com/blob/main/LICENSE).\n","funding_links":[],"categories":["Rust","\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustfinity%2Frustfinity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustfinity%2Frustfinity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustfinity%2Frustfinity/lists"}