{"id":13806398,"url":"https://github.com/zzy/surfer","last_synced_at":"2026-03-04T14:02:17.970Z","repository":{"id":51301577,"uuid":"330967672","full_name":"zzy/surfer","owner":"zzy","description":"The Blog built on pure Rust stack. Backend for graphql services, and frontend for web application.","archived":false,"fork":false,"pushed_at":"2023-02-08T09:56:43.000Z","size":10721,"stargazers_count":52,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T19:04:51.667Z","etag":null,"topics":["async-graphql","blog","graphql-services","handlebars-rust","jwt-auth","mongodb","rhai","rust","surf","tide","yew"],"latest_commit_sha":null,"homepage":"https://niqin.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zzy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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}},"created_at":"2021-01-19T12:09:46.000Z","updated_at":"2025-04-10T20:59:51.000Z","dependencies_parsed_at":"2024-04-10T00:39:25.808Z","dependency_job_id":"53d31a34-9ab8-45cc-924f-139a75afabc8","html_url":"https://github.com/zzy/surfer","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":"zzy/tide-async-graphql-mongodb","purl":"pkg:github/zzy/surfer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzy%2Fsurfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzy%2Fsurfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzy%2Fsurfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzy%2Fsurfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zzy","download_url":"https://codeload.github.com/zzy/surfer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzy%2Fsurfer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30083004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: 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":["async-graphql","blog","graphql-services","handlebars-rust","jwt-auth","mongodb","rhai","rust","surf","tide","yew"],"created_at":"2024-08-04T01:01:11.276Z","updated_at":"2026-03-04T14:02:17.923Z","avatar_url":"https://github.com/zzy.png","language":"Rust","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# surfer\n\nThe simple **WIP Blog** built on *pure Rust stack*, with upcoming upgrades.\n\nBackend for graphql services using tide, async-graphql, jsonwebtoken, mongodb and so on. \n\nThere are two options for web frontend:\n- Frontend-yew for web application using yew, graphql_client, cookie and so on.\n- Frontend-handlebars for web application using tide, yew, rhai, surf, graphql_client, handlebars-rust, cookie and so on.\n\nSee also: \n- https://github.com/zzy/tide-async-graphql-mongodb - Clean boilerplate for graphql services, wasm/yew \u0026 handlebars frontend. \n- https://github.com/piexue/piexue.com - Multi-language CMS based on the Rust web stacks.\n\n## Features\n\nDemo site:\n- [niqin.com - NiQin Books Platform | 泥芹书馆](https://niqin.com)\n- [piexue.com - Project Matchmaking | 项目对接](https://piexue.com)\n\n## MongoDB data\n\nMongoDB data(include structure \u0026 documents) file is `/data/surfer-dev.sql`.\n\nIf you need mongodb cloud count, please send email to me.\n\n## Stacks\n\n- [Rust](https://github.com/rust-lang/rust) - [Rust By Example](https://rust-by-example.niqin.com) and [Cargo Book](https://cargo.niqin.com)\n- [Tide](https://crates.io/crates/tide) - [Tide Book](https://tide-book.niqin.com)\n- [rhai](https://crates.io/crates/rhai) - [Embedded Scripting for Rust](https://rhai-script.niqin.com)\n- [async-graphql](https://crates.io/crates/async-graphql) - [async-graphql docs](https://async-graphql.niqin.com)\n- [mongodb \u0026 mongo-rust-driver](https://crates.io/crates/mongodb)\n- [Surf](https://crates.io/crates/surf)\n- [graphql_client](https://crates.io/crates/graphql_client)\n- [yew](https://yew.niqin.com)\n- [handlebars-rust](https://crates.io/crates/handlebars)\n- [jsonwebtoken](https://crates.io/crates/jsonwebtoken)\n- [cookie-rs](https://crates.io/crates/cookie)\n\n## How to Build \u0026 Run?\n\nPlease read:\n\n- [**Backend: graphql servies server**](./backend/README.md)\n- [**Frontend-yew: web application server**](./frontend-yew/README.md)\n- [**Frontend-handlebars: web application server**](./frontend-handlebars/README.md)\n\n## Contributing\n\nYou are welcome in contributing to the surfer project. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzy%2Fsurfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzzy%2Fsurfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzy%2Fsurfer/lists"}