{"id":15323990,"url":"https://github.com/StudyResearchProjects/actix-rust-api-sample","last_synced_at":"2025-10-16T09:31:46.213Z","repository":{"id":104131569,"uuid":"243125839","full_name":"StudyResearchProjects/actix-rust-api-sample","owner":"StudyResearchProjects","description":"🦀 A Web API written in Rust for learning purposes","archived":false,"fork":false,"pushed_at":"2020-07-02T22:55:13.000Z","size":154,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T19:10:35.368Z","etag":null,"topics":["actix","actix-web","api","docker","rest","rust","sample","web"],"latest_commit_sha":null,"homepage":"","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/StudyResearchProjects.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}},"created_at":"2020-02-25T23:36:01.000Z","updated_at":"2025-05-27T00:07:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"ced2e847-97e8-4bf2-92b8-b8a386053cd3","html_url":"https://github.com/StudyResearchProjects/actix-rust-api-sample","commit_stats":null,"previous_names":["leoborai/actix-rust-api-sample","valhallaban/actix-rust-api-sample","estebanborai/actix-rust-api-sample","studyresearchprojects/actix-rust-api-sample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StudyResearchProjects/actix-rust-api-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Factix-rust-api-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Factix-rust-api-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Factix-rust-api-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Factix-rust-api-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StudyResearchProjects","download_url":"https://codeload.github.com/StudyResearchProjects/actix-rust-api-sample/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Factix-rust-api-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279173189,"owners_count":26119032,"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-16T02:00:06.019Z","response_time":53,"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":["actix","actix-web","api","docker","rest","rust","sample","web"],"created_at":"2024-10-01T09:24:04.482Z","updated_at":"2025-10-16T09:31:46.208Z","avatar_url":"https://github.com/StudyResearchProjects.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://www.rust-lang.org/static/images/rust-logo-blk.svg\" height=\"144\" width=\"144\" /\u003e\n  \u003ch1\u003erust-webapi\u003c/h1\u003e\n  \u003csmall\u003e🦀 A Web API written in Rust for learning purposes \u003c/small\u003e\n\u003c/div\u003e\n\n## Motivation\nThe main goal of this project is to learn about the *Rust* programming language\nfollowing a set of complete and rich in knowledge guides from Tore Pettersen in his\nblog \"[cloudmaker.dev](https://cloudmaker.dev/)\".\n\n## Requirements\n- [Rust](https://rustup.rs/)\n- [Docker](https://www.docker.com/)\n\n## Getting Started\nSome setup must be done before getting to run the application.\nThe following will walk you through the application environment setup.\n\nWhen the setup is ready, run the application issuing the following command\nfrom the project directory:\n\n```sh\ncargo run\n```\n\n### Running the Postgres Database, Redis and PgAdmin with docker\nA `docker-compose.yml` file is available in the project directory\nwith the definition of the following services:\n\n| Service   | Image                   | Description                 |\n| --------- | ----------------------- | --------------------------- |\n| `database`| `postgres:9.6`          | Postgres Database           |\n| `redis`   | `redis:rc-buster`       | Redis                       |\n| `pgadmin` | `dpage/pgadmin4:latest` | A *Postgres* database admin |\n\nA one line command is available to run as a *shell/bash* file in named `run-resources.sh`.\n\nWhen running `run-resources.sh` the services in the table above will be the\nonly services running. The *Rust* server must be started manually\nusing `cargo run` from the project directory.\n\n\u003e The complete environment is available to run also. Issue `docker-compose up --build` from the project directory to build and run the complete set of services including the *Rust* server.\n\n### Setup Diesel\nUsing `cargo install` command, install `diesel_cli` binary:\n\n```sh\ncargo install diesel_cli --no-default-features --features postgres\n```\n\nIf theres no `diesel.toml` file in the project directory,\nrun `diesel setup` to generate such file.\n\nExpected output:\n\n```log\nCreating migrations/2020-04-21-005225_create_user/up.sql\nCreating migrations/2020-04-21-005225_create_user/down.sql\n```\n\n\u003e To generate migrations, run `diesel migration generate \u003cmigration name\u003e`\n\n\u003e In order to run migrations and update database tables with the last schema run `diesel migration run`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStudyResearchProjects%2Factix-rust-api-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStudyResearchProjects%2Factix-rust-api-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStudyResearchProjects%2Factix-rust-api-sample/lists"}