{"id":18386901,"url":"https://github.com/rzaf/movie-review-api","last_synced_at":"2026-07-10T12:31:53.165Z","repository":{"id":259952528,"uuid":"871114604","full_name":"rzaf/movie-review-api","owner":"rzaf","description":"movie reviewing api with Laravel","archived":false,"fork":false,"pushed_at":"2024-12-22T09:31:30.000Z","size":550,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T15:29:55.859Z","etag":null,"topics":["imdb-clone","movie-rating-app"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/rzaf.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,"publiccode":null,"codemeta":null}},"created_at":"2024-10-11T09:50:24.000Z","updated_at":"2024-12-22T09:31:33.000Z","dependencies_parsed_at":"2024-10-28T19:49:58.148Z","dependency_job_id":"c1dfe564-77fb-4ca7-be08-246d858e1034","html_url":"https://github.com/rzaf/movie-review-api","commit_stats":null,"previous_names":["rzaf/movie-review-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rzaf/movie-review-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rzaf%2Fmovie-review-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rzaf%2Fmovie-review-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rzaf%2Fmovie-review-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rzaf%2Fmovie-review-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rzaf","download_url":"https://codeload.github.com/rzaf/movie-review-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rzaf%2Fmovie-review-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35331951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"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":["imdb-clone","movie-rating-app"],"created_at":"2024-11-06T01:23:47.020Z","updated_at":"2026-07-10T12:31:53.126Z","avatar_url":"https://github.com/rzaf.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# movie-review-api\n\nmedia rating rest api using laravel framework\n\n## Build\n\n- clone repository `git clone https://github.com/rzaf/movie-review-api.git`\n- cd to directory `cd movie-review-api`\n- create .env file and configure your database `cp .env.example .env`\n- install dependencies `composer install`\n- genereate new keys `php artisan key:generate`\n- run migrations and seed database `php artisan migrate --seed`\n- run server `php artisan serve`\n- visit `/api/documentation` route for swagger docs\n\n## API Endpoints\n\nprotected routes require authentication with api token.\nadmin routes require authenticated user to be admin .\n\n#### Users\n\n| type |                 url                |protected|admin |\n|------|------------------------------------|-------|-------|\n| GET  |`api/users`                         |\u0026cross;|\u0026cross;|\n| POST |`api/users/`                        |\u0026cross;|\u0026cross;|\n| POST |`api/users/login`                   |\u0026cross;|\u0026cross;|\n| GET  |`api/users/{username}`              |\u0026cross;|\u0026cross;|\n| PUT  |`api/users/{username}`              |\u0026check;|\u0026cross;|\n|DELETE|`api/users/{username}`              |\u0026check;|\u0026cross;|\n\n#### Categories\n\n| type |                 url                |protected|admin|\n|------|------------------------------------|-------|-------|\n| GET  |`api/categories`                    |\u0026cross;|\u0026cross;|\n| POST |`api/categories/`                   |\u0026check;|\u0026check;|\n| GET  |`api/categories/{name}`             |\u0026cross;|\u0026cross;|\n| PUT  |`api/categories/{name}`             |\u0026check;|\u0026check;|\n|DELETE|`api/categories/{name}`             |\u0026check;|\u0026check;|\n\n#### People\n\n| type |                 url                |protected|admin|\n|------|------------------------------------|-------|-------|\n| GET  |`api/people`                        |\u0026cross;|\u0026cross;|\n| GET  |`api/people/{url}`                  |\u0026cross;|\u0026cross;|\n| GET  |`api/people/{url}/medias`           |\u0026cross;|\u0026cross;|\n| POST |`api/people/`                       |\u0026check;|\u0026check;|\n| PUT  |`api/people/{url}`                  |\u0026check;|\u0026check;|\n|DELETE|`api/people/{url}`                  |\u0026check;|\u0026check;|\n| GET  |`api/people/{url}/following`        |\u0026check;|\u0026cross;|\n|DELETE|`api/people/{url}/following`        |\u0026check;|\u0026cross;|\n\n#### Medias\n\n| type |                 url                      |protected|admin|\n|------|------------------------------------------|-------|-------|\n| GET  |`api/medias`                              |\u0026cross;|\u0026cross;|\n| GET  |`api/medias/{url}`                        |\u0026cross;|\u0026cross;|\n| POST |`api/medias`                              |\u0026check;|\u0026check;|\n| PUT  |`api/medias/{url}`                        |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}`                        |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/genres/{name}`          |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/genres/{name}`          |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/kewords/{name}`         |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/kewords/{name}`         |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/languages/{name}`       |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/languages/{name}`       |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/countries/{name}`       |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/countries/{name}`       |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/companies/{name}`       |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/companies/{name}`       |\u0026check;|\u0026check;|\n| POST |`api/medias/{url}/people/{person_url}`    |\u0026check;|\u0026check;|\n|DELETE|`api/medias/{url}/people/{person_url}`    |\u0026check;|\u0026check;|\n\n#### Reviews\n\n| type |                 url                      |protected|admin|\n|------|------------------------------------------|-------|-------|\n| GET  |`api/reviews/{review_id}`                 |\u0026cross;|\u0026cross;|\n|DELETE|`api/reviews/{review_id}`                 |\u0026check;|\u0026cross;|\n| PUT  |`api/reviews/{review_id}`                 |\u0026check;|\u0026cross;|\n| POST |`api/medias/{url}/reviews`                |\u0026check;|\u0026cross;|\n| GET  |`api/medias/{url}/reviews`                |\u0026cross;|\u0026cross;|\n\n#### Replies\n\n| type |                 url                      |protected|admin|\n|------|------------------------------------------|-------|-------|\n| GET  |`api/replies/{reply_id}`                  |\u0026cross;|\u0026cross;|\n|DELETE|`api/replies/{reply_id}`                  |\u0026check;|\u0026cross;|\n| PUT  |`api/replies/{reply_id}`                  |\u0026check;|\u0026cross;|\n| POST |`api/replies`                             |\u0026check;|\u0026cross;|\n| GET  |`api/reviews/{review_id}/replies`         |\u0026cross;|\u0026cross;|\n| GET  |`api/replies/{reply_id}/replies`          |\u0026cross;|\u0026cross;|\n\n#### Likes/Dislikes\n\n| type |                 url                     |protected|admin|\n|------|-----------------------------------------|-------|-------|\n| POST |`api/medias/{url}/like`                  |\u0026check;|\u0026cross;|\n|DELETE|`api/medias/{url}/like`                  |\u0026check;|\u0026cross;|\n| POST |`api/reviews/{review_id}/like`           |\u0026check;|\u0026cross;|\n|DELETE|`api/reviews/{review_id}/like`           |\u0026check;|\u0026cross;|\n| POST |`api/replies/{reply_id}/like`            |\u0026check;|\u0026cross;|\n|DELETE|`api/replies/{reply_id}/like`            |\u0026check;|\u0026cross;|\n\n#### Files\n\n| type |                 url                     |protected|admin|\n|------|-----------------------------------------|-------|-------|\n| POST |`api/files/photos`                       |\u0026check;|\u0026check;|\n|DELETE|`api/files/photos/{url}`                 |\u0026check;|\u0026check;|\n| GET  |`api/files/photos/{url}`                 |\u0026cross;|\u0026cross;|\n| POST |`api/files/videos`                       |\u0026check;|\u0026check;|\n|DELETE|`api/files/videos/{url}`                 |\u0026check;|\u0026check;|\n| GET  |`api/files/videos/{url}`                 |\u0026cross;|\u0026cross;|\n| POST |`api/people/{url}/photo`                 |\u0026check;|\u0026check;|\n|DELETE|`api/people/{url}/photo`                 |\u0026check;|\u0026check;|\n| GET  |`api/files/people-profile-photos/{url}`  |\u0026check;|\u0026check;|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frzaf%2Fmovie-review-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frzaf%2Fmovie-review-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frzaf%2Fmovie-review-api/lists"}