{"id":13672536,"url":"https://github.com/rusty-crab/warp-api-starter-template","last_synced_at":"2025-04-27T22:32:21.748Z","repository":{"id":40524223,"uuid":"275657320","full_name":"rusty-crab/warp-api-starter-template","owner":"rusty-crab","description":"A boilerplate template for starting a web services using Warp + SQLx (PostgreSQL) + Redis + Juniper (GraphQL). ❤️","archived":true,"fork":false,"pushed_at":"2022-06-02T20:39:34.000Z","size":177,"stargazers_count":201,"open_issues_count":15,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-11T10:42:33.552Z","etag":null,"topics":["boilerplate","juniper","project-template","redis","rust","sqlx","template","warp"],"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/rusty-crab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["aslamplr"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-06-28T19:49:55.000Z","updated_at":"2024-10-14T19:31:30.000Z","dependencies_parsed_at":"2022-07-08T08:04:29.263Z","dependency_job_id":null,"html_url":"https://github.com/rusty-crab/warp-api-starter-template","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusty-crab%2Fwarp-api-starter-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusty-crab%2Fwarp-api-starter-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusty-crab%2Fwarp-api-starter-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusty-crab%2Fwarp-api-starter-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rusty-crab","download_url":"https://codeload.github.com/rusty-crab/warp-api-starter-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251219601,"owners_count":21554444,"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":["boilerplate","juniper","project-template","redis","rust","sqlx","template","warp"],"created_at":"2024-08-02T09:01:38.510Z","updated_at":"2025-04-27T22:32:21.349Z","avatar_url":"https://github.com/rusty-crab.png","language":"Rust","funding_links":["https://github.com/sponsors/aslamplr"],"categories":["Rust"],"sub_categories":[],"readme":"# warp-api-starter-template \n\nThis is a starting point for a starter template, this is far from usable from a starter template perspective.\nThe work is in progress and not recommended for production use at the moment.\n\n## Features\n\n* REST APIs (Warp + http-api-problem + hyper + tokio)\n* GraphQL Server with Playground (Juniper)\n* Minimal Authentication framework (Argonautica + Biscuit)\n* Redis for cache\n* PostgreSQL for database and SQLx for query\n* systemfd + listenfd to for debug mode auto-reload\n\nInspired by [Meh's blog post](https://meh.schizofreni.co/2020-04-18/comfy-web-services-in-rust). \n\nIt all started here → [meh/meh.github.io#5](https://github.com/meh/meh.github.io/issues/5#issuecomment-652088596)\n\n## To get started \n\nRun docker-compose up to get the PostgreSQL, Redis and Adminer running Along with our Web API Service. \nThis starts the application in debug mode with auto reload on changes in the source.\n\n```\ndocker-compose up\n```\n\nMigrations are handled using [movine](https://github.com/byronwasti/movine), This is run inside the debug start script.\nAdminer instance could be accessed from `http://localhost:8080`. Refer `docker-compose.yml` file for configurations and access credentials.\nIf you are not using docker-compose to start the application, install movine using `cargo install movine`.\n\nThe GraphQL playground could be accessed from `http://localhost:3535/graphql/playground`\n\nTo run the application without docker-compose \n```\ncp .env.sample .env # make relevant changes to the environment configurations\nmovine fix # assuming movine is installed, to install movine `cargo install movine`\n# run the application in debug mode\nRUST_LOG=info cargo run\n```\n\n## Release docker build example\n\n```\nexport DATABASE_URL=postgres://mydb:changeme@192.168.1.4:5432/mydb # this is required for the build to work, this needed for sqlx macros to verify schema\ndocker build -t warp-api-release:latest -f release.Dockerfile --build-arg DATABASE_URL .\n```\n\n### Run the docker example\n\n```\ndocker run --rm -it -p 3535:3535 --env-file .env -e HOST=\"0.0.0.0:3535\" warp-api-release:latest\n```\n\nRefer `.env.sample` file for the env variables required.\n\n## Contributions\n\nWith your help we can make this a real good starter template for starting a web service.\nContributions are welcome!\n\n## License\n\nAll contributions will be licensed as MIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusty-crab%2Fwarp-api-starter-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frusty-crab%2Fwarp-api-starter-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusty-crab%2Fwarp-api-starter-template/lists"}