{"id":26555223,"url":"https://github.com/dreamcatcher45/jserve","last_synced_at":"2026-05-19T02:09:20.526Z","repository":{"id":283023090,"uuid":"950427682","full_name":"dreamcatcher45/jserve","owner":"dreamcatcher45","description":"Json Server built on rust","archived":false,"fork":false,"pushed_at":"2025-03-18T06:34:46.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T07:32:04.644Z","etag":null,"topics":["json","json-server","mockapi","mockserver","rust"],"latest_commit_sha":null,"homepage":"https://dreamcatcher45.github.io/jserve","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/dreamcatcher45.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":"2025-03-18T06:27:43.000Z","updated_at":"2025-03-18T06:33:20.000Z","dependencies_parsed_at":"2025-03-18T07:32:09.135Z","dependency_job_id":"ed1807d7-171b-4159-ae12-450ad175eaf4","html_url":"https://github.com/dreamcatcher45/jserve","commit_stats":null,"previous_names":["dreamcatcher45/jserve"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamcatcher45%2Fjserve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamcatcher45%2Fjserve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamcatcher45%2Fjserve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamcatcher45%2Fjserve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dreamcatcher45","download_url":"https://codeload.github.com/dreamcatcher45/jserve/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244940116,"owners_count":20535555,"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":["json","json-server","mockapi","mockserver","rust"],"created_at":"2025-03-22T10:25:29.332Z","updated_at":"2026-05-19T02:09:20.517Z","avatar_url":"https://github.com/dreamcatcher45.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JServe 🚀\n\nA **lightning-fast**, **RESTful JSON server** built with Rust ⚙️, designed for prototyping and mock APIs. Store and manage data effortlessly using a simple JSON file! 📁\n\n![MIT License](https://img.shields.io/badge/License-MIT-green.svg)\n\n## Features ✨\n\n- 🌐 Full REST API support (GET/POST/PUT/DELETE)\n- 🛠️ CRUD operations with JSON validation\n- ⚡ Real-time persistence to JSON file\n- 🔒 Thread-safe in-memory caching\n- 🚦 Auto-create missing JSON files\n- 📡 Dynamic endpoint discovery\n- 🔧 Configurable port \u0026 file path\n- 📡 Built with async Actix-Web framework\n\n\n## Installation 📥\n\n**Using Cargo**:\n```bash\n# Install directly from crates.io\ncargo install jserve\n```\n\n**Pre-built Binaries** (Recommended):\n1. Visit [GitHub Releases](https://github.com/dreamcatcher45/jserve/releases)\n2. Download the appropriate executable for your OS:\n\n### Windows 🪟\n```bash\n# Download (Run in PowerShell)\ncurl -LO https://github.com/dreamcatcher45/jserve/releases/latest/download/jserve-windows.exe\n\n# Rename and make available system-wide (optional)\nmv jserve-windows.exe jserve.exe\nmkdir -p $HOME\\bin\nmove .\\jserve.exe $HOME\\bin  # Add $HOME\\bin to PATH\n```\n\n### Linux 🐧\n```bash\n# Download\ncurl -LO https://github.com/dreamcatcher45/jserve/releases/latest/download/jserve-linux\n\n# Make executable and install\nchmod +x jserve-linux\nsudo mv jserve-linux /usr/local/bin/jserve\n```\n\n### macOS 🍎\n```bash\n# Download\ncurl -LO https://github.com/dreamcatcher45/jserve/releases/latest/download/jserve-macos\n\n# Install globally\nchmod +x jserve-macos\nsudo mv jserve-macos /usr/local/bin/jserve\n```\n\n## Usage 🚀\n```bash\n# Start server with your JSON file\njserve -f db.json -p 3000\n\n# Access from any directory after PATH setup!\n```\n\n**Path Configuration** 🌍:\n- Windows: Add containing directory to `PATH` environment variable\n- Unix/Mac: Use `/usr/local/bin` or add custom directory to `$PATH`\n\nNo Rust installation required! Just download and run 🎉\n\n\n## Build from source 📦\n\n**Prerequisites**: \n- Rust 1.65+ (install via [rustup](https://rustup.rs/))\n\n```bash\n# Clone repository\ngit clone https://github.com/dreamcatcher45/jserve.git\ncd jserve\n\n# Build and run (release mode recommended)\ncargo build --release\n./target/release/jserve -f db.json -p 3000\n```\n\n## Usage 🎮\n\n**Sample Requests**:\n```bash\n# Get all posts\ncurl http://localhost:3000/posts\n\n# Get specific post\ncurl http://localhost:3000/posts/1\n\n# Create new post\ncurl -X POST -H \"Content-Type: application/json\" \\\n  -d '{\"id\":\"4\",\"title\":\"New Post\"}' \\\n  http://localhost:3000/posts\n\n# Update post\ncurl -X PUT -H \"Content-Type: application/json\" \\\n  -d '{\"id\":\"1\",\"title\":\"Updated Title\"}' \\\n  http://localhost:3000/posts/1\n\n# Delete post\ncurl -X DELETE http://localhost:3000/posts/1\n```\n\n**Automatic Endpoints**:\n```\nhttp://localhost:3000/{collection_name}\n```\nBased on your JSON file structure (e.g., `/posts`, `/activities` from sample db.json)\n\n## Why JServe? 💡\n\n- 🏎️ **Blazing Fast**: Built with Rust's performance and Actix-Web's async power\n- 🧩 **Zero Dependencies**: Just a single binary and JSON file\n- 🔄 **Real Persistence**: Changes saved instantly to disk\n- 📊 **JSON Validation**: Strict schema checking for data integrity\n- 🔐 **Concurrency Safe**: RWLock-protected data access\n- 🐳 **Docker Ready**: Easy to containerize for deployments\n\n## Contributing 🤝\n\nWe 💖 contributions! Here's how to help:\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing`)\n5. Open Pull Request\n\n**Development Setup**:\n```bash\ncargo run -- -f db.json  # Development mode\ncargo test               # Run tests\n```\n\nPlease follow Rust coding conventions and document complex logic.\n\n## License 📜\n\nMIT License - see [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamcatcher45%2Fjserve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdreamcatcher45%2Fjserve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamcatcher45%2Fjserve/lists"}