{"id":31580373,"url":"https://github.com/franbarinstance/rust-web-app","last_synced_at":"2025-10-05T21:11:30.935Z","repository":{"id":276391611,"uuid":"929156247","full_name":"FranBarInstance/rust-web-app","owner":"FranBarInstance","description":"Neutral TS Rust Web APP Example","archived":false,"fork":false,"pushed_at":"2025-04-25T13:47:12.000Z","size":258,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-10T21:58:54.162Z","etag":null,"topics":["neutral","progressive-web-app","progressive-web-app-rust","progressive-web-application","pwa-example","rust-pwa","rust-web","rust-web-app","web-app","web-app-rust","webapp"],"latest_commit_sha":null,"homepage":"https://FranBarInstance.github.io/neutralts/docs/neutralts/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FranBarInstance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-02-07T23:00:27.000Z","updated_at":"2025-07-10T09:08:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b094e0c-e82c-4358-a816-15175878b3ee","html_url":"https://github.com/FranBarInstance/rust-web-app","commit_stats":null,"previous_names":["franbar1966/rust-web-app","franbarinstance/rust-web-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FranBarInstance/rust-web-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FranBarInstance%2Frust-web-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FranBarInstance%2Frust-web-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FranBarInstance%2Frust-web-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FranBarInstance%2Frust-web-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FranBarInstance","download_url":"https://codeload.github.com/FranBarInstance/rust-web-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FranBarInstance%2Frust-web-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278519887,"owners_count":26000374,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["neutral","progressive-web-app","progressive-web-app-rust","progressive-web-application","pwa-example","rust-pwa","rust-web","rust-web-app","web-app","web-app-rust","webapp"],"created_at":"2025-10-05T21:11:29.997Z","updated_at":"2025-10-05T21:11:30.929Z","avatar_url":"https://github.com/FranBarInstance.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Rust Web APP\n============\n\nSimple example of Neutral TS to create a Progressive Web Application (PWA) or Web APP, in Rust with Actix Web and for HTML design Bootswatch and Bootstrap. This example will show you how to create a template structure and how to do theming among other things.\n\nIt is not an example of Rust or Actix, it is not an example of design, it is an example of Neutral TS, so you can use this example as a prototype or as the basis of your own Web APP taking into account that what is really intended to illustrate is the use of templates.\n\nDownload from [repository](https://gitlab.com/neutralfw/neutralts/), the crate is here [neutralts](https://crates.io/crates/neutralts)\n\n### Contents of the directories\n\n```\n web-app\n    ├── neutral -----------------\u003e Neutral TS files and templates\n    │   ├── css -----------------\u003e Statics CSS files\n    │   ├── data ----------------\u003e Neutral TS json data and locale files\n    │   ├── img -----------------\u003e Statics image files\n    │   ├── js ------------------\u003e Statics js files\n    │   ├── plugins -------------\u003e Neutral TS utilities\n    │   ├── pwa -----------------\u003e Statics files for PWA\n    │   ├── service-worker.js ---\u003e Service Worker for PWA\n    │   └── tpl -----------------\u003e Neutral TS templates\n    ├── php ---------------------\u003e PHP source\n    ├── python ------------------\u003e Python source\n    └── rust --------------------\u003e Rust source\n```\n\nThe files and templates have comments explaining the use.\n\nRust\n----\n\nNavigate to the web-app/rust directory and then:\n\n```\ncargo run --release\n```\n\nA server will be available on port 9090\n\n```\nhttp://127.0.0.1:9090/\n```\n\nPHP\n----\n\nNavigate to the web-app/php directory and then:\n\n```\nphp -S localhost:8000\n```\n\nA server will be available on port 8000\n\n```\nhttp://127.0.0.1:8000/\n```\n(*) Requires an IPC server that you can download from the [repository](https://gitlab.com/neutralfw/neutralts)\n\nPython\n----\n\nNavigate to the web-app/python directory and then:\n\n```\nexport FLASK_APP=index.py \u0026\u0026 flask run\n```\n\nA server will be available on port 5000\n\n```\nhttp://127.0.0.1:5000/\n```\n(*) Requires an IPC server that you can download from the [repository](https://gitlab.com/neutralfw/neutralts)\n\nIPC Server\n----------\n\nNavigate to the ipc directory and then:\n\n```\ncargo run --release\n```\n\nPerformance\n-----------\n\nThe example has all the elements of a production PWA, so it is a good approximation of real performance with a **4000MHz** CPU.\n\n### Rust (actix-web)\n\n```\nwrk http://localhost:9090/\nRunning 10s test @ http://localhost:9090/\n  2 threads and 10 connections\n  Thread Stats   Avg      Stdev     Max   +/- Stdev\n    Latency   324.25us   66.31us   4.06ms   80.77%\n    Req/Sec    15.32k   622.19    16.65k    73.27%\n  307975 requests in 10.10s, 9.23GB read\nRequests/sec:  30492.77\nTransfer/sec:      0.91GB\n```\n\n### PHP (apache mod_php)\n```\nwrk http://localhost.php/\nRunning 10s test @ http://localhost.php/\n  2 threads and 10 connections\n  Thread Stats   Avg      Stdev     Max   +/- Stdev\n    Latency   740.78us  118.57us   4.45ms   83.68%\n    Req/Sec     6.73k   238.20     7.05k    87.13%\n  135160 requests in 10.10s, 4.06GB read\nRequests/sec:  13382.57\nTransfer/sec:    411.76MB\n```\n\n### Python (apache mod_python)\n```\nwrk http://localhost.python/\nRunning 10s test @ http://localhost.python/\n  2 threads and 10 connections\n  Thread Stats   Avg      Stdev     Max   +/- Stdev\n    Latency     0.88ms    1.15ms  57.11ms   99.78%\n    Req/Sec     5.95k   300.26     7.93k    89.55%\n  118875 requests in 10.10s, 3.57GB read\nRequests/sec:  11769.88\nTransfer/sec:    361.97MB\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranbarinstance%2Frust-web-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffranbarinstance%2Frust-web-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranbarinstance%2Frust-web-app/lists"}