{"id":15699265,"url":"https://github.com/thangchung/northwind-rs","last_synced_at":"2025-05-09T02:28:22.564Z","repository":{"id":37178527,"uuid":"262782110","full_name":"thangchung/northwind-rs","owner":"thangchung","description":"The northwind application with the clean architecture approach powered by Rust","archived":false,"fork":false,"pushed_at":"2023-03-25T00:34:49.000Z","size":1234,"stargazers_count":6,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T21:28:25.146Z","etag":null,"topics":["actix-web","async","boilerplate","buildpack","clean-architecture","modular","northwind","postgresql","rust","sqlx","web","web-development"],"latest_commit_sha":null,"homepage":"","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/thangchung.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}},"created_at":"2020-05-10T12:28:15.000Z","updated_at":"2024-02-07T22:21:28.000Z","dependencies_parsed_at":"2024-01-30T09:01:10.211Z","dependency_job_id":"b39a5324-0b6a-4308-95ec-4d4ec30811cc","html_url":"https://github.com/thangchung/northwind-rs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thangchung%2Fnorthwind-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thangchung%2Fnorthwind-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thangchung%2Fnorthwind-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thangchung%2Fnorthwind-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thangchung","download_url":"https://codeload.github.com/thangchung/northwind-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253177305,"owners_count":21866305,"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":["actix-web","async","boilerplate","buildpack","clean-architecture","modular","northwind","postgresql","rust","sqlx","web","web-development"],"created_at":"2024-10-03T19:39:32.072Z","updated_at":"2025-05-09T02:28:22.510Z","avatar_url":"https://github.com/thangchung.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# northwind-rs\n\nThe Northwind application powered by Rust (actix-web, sqlx, jwt...)\n\nGenerated from [`actix-sqlx-boilerplate`](https://github.com/fabienbellanger/actix-sqlx-boilerplate)\n\n## Give a star ⭐\n\nIf you're using this repository for your samples, workshop, your project or whatever, please give a star ⭐. Thank you very much :+1:\n\n# Up and running\n\n## Run server\n\n```bash\n$ docker-compose up\n$ cargo run --bin northwind-actix\n```\n\nThen play around with `restclient.http`\n\n# SQLx\n\nsqlx repository: [Github](https://github.com/launchbadge/sqlx)\n## sqlx-cli\n\nsqlx-cli repository: [Github](https://github.com/launchbadge/sqlx/tree/master/sqlx-cli)\n\n```bash\n$ cargo install sqlx-cli --no-default-features --features postgres\n```\n\n### Offline mode\n\nOn windows 10\n\nMake sure that you have `docker-compose up` running with at least `postgresdb`\n\n```bash\n$ cargo clean\n$ cmd /c \"set SQLX_OFFLINE=true \u0026\u0026 cargo sqlx prepare -- --manifest-path apps/actix/Cargo.toml --bin northwind-actix\"\n```\n\nMake sure, we have `sqlx-data.json` updated. Then, we can build the buildpack below\n\nThe issue couldn't run `cargo sqlx` cli successfully at https://github.com/launchbadge/sqlx/issues/788\n\n## Migrations\n\nTo create a migration:\n\n```bash\n$ sqlx migrate add -r \u003cname\u003e\n```\n\nRun migrations:\n\n```bash\n$ sqlx migrate run\n```\n\nRevet migrations:\n\n```bash\n$ sqlx migrate revert\n```\n\n# Cargo watch\n\nUsage:\n\n```bash\n$ cargo watch -x 'run --bin api'\n```\n\n# Benchmark\n\nUse [Drill](https://github.com/fcsonline/drill)\n\n```bash\n$ drill --benchmark drill.yml --stats --quiet\n```\n\n# Documentation\n\nRun:\n\n```bash\n$ cargo doc --open --no-deps\n```\n\nRun with private items:\n\n```bash\n$ cargo doc --open --no-deps --document-private-items\n```\n\n# Build Docker image with CNCF Buildpacks\n\n```bash\n$ pack build vietnamdevsgroup/northwind-rs -e SQLX_OFFLINE=true -e BP_CARGO_INSTALL_ARGS=\"--path=./apps/actix\" \n-b docker.io/paketocommunity/rust\n```\n\nUn-comment section `northwindrs` in `docker-compose.yaml` file, then run:\n\n```bash\n$ docker-compose up\n```\n\n# Troubleshooting \n\n## Inspect docker image\n\n```bash\n$ docker run -it --entrypoint /bin/bash vietnamdevsgroup/northwind-rs\n```\n\n## Dive to see what inside docker image\n\n```bash\n$ docker pull wagoodman/dive:latest\n$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest vietnamdevsgroup/northwind-rs\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthangchung%2Fnorthwind-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthangchung%2Fnorthwind-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthangchung%2Fnorthwind-rs/lists"}