{"id":14974917,"url":"https://github.com/fajar-dev/laravel-backend-starter","last_synced_at":"2025-10-27T10:31:40.279Z","repository":{"id":177678743,"uuid":"660308719","full_name":"fajar-dev/Laravel-backend-starter","owner":"fajar-dev","description":"Backend Laravel Starter with Json web Token and cloudinary","archived":false,"fork":false,"pushed_at":"2023-08-17T05:58:35.000Z","size":155,"stargazers_count":23,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-28T19:41:14.287Z","etag":null,"topics":["api","backend","cloudinary","json-web-token","jwt","laravel","laravel-backend","laravel-starter","laravel8","php","restful-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/fajar-dev.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":"2023-06-29T18:02:12.000Z","updated_at":"2024-07-26T07:26:23.000Z","dependencies_parsed_at":"2024-09-18T16:44:58.215Z","dependency_job_id":null,"html_url":"https://github.com/fajar-dev/Laravel-backend-starter","commit_stats":{"total_commits":44,"total_committers":3,"mean_commits":"14.666666666666666","dds":0.2272727272727273,"last_synced_commit":"4d1af7f2557c02e4b36149d0f581b28d46e0e6fd"},"previous_names":["fajar-dev/backend-laravel-starter","fajar-dev/laravel-backend-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fajar-dev%2FLaravel-backend-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fajar-dev%2FLaravel-backend-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fajar-dev%2FLaravel-backend-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fajar-dev%2FLaravel-backend-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fajar-dev","download_url":"https://codeload.github.com/fajar-dev/Laravel-backend-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219861468,"owners_count":16555994,"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":["api","backend","cloudinary","json-web-token","jwt","laravel","laravel-backend","laravel-starter","laravel8","php","restful-api"],"created_at":"2024-09-24T13:51:15.821Z","updated_at":"2025-10-27T10:31:39.795Z","avatar_url":"https://github.com/fajar-dev.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laravel Backend Starter\n\n\u003e Backend laravel with json web token and Cloudinary\n\n## Authors\n\n- Follow Me [@fajar-dev](https://www.github.com/fajar-dev)\n  \nGive a star if you like this repository\n\n## Tech Stack\n\n**Package:** JWT, cloudinary,\n\n**Server:** Laravel 10\n\n## Requirements\n\n- git\n- PHP 8\n- laravel\n- A browser (e.g., Firefox or Chrome)\n- composser\n- SQL Database\n\n\n## How To Start\n- Install dependencies with `composser install`.\n- rename the `.env.example` file to `.env`\n- add mysql database information on .env\n- add TOKEN_SECRET for JWT\n- setup SMTP Mail Environment\n- setup Cloudinary Environment\n- Run the server locally with `php artisan serve`\n- run database migration with `php artisan migration`\n\n## Routes\n- POST \u003chttp://localhost:8000/api/auth/register\u003e\n- POST \u003chttp://localhost:8000/api/auth/login\u003e\n- POST \u003chttp://localhost:8000/api/auth/forget\u003e\n- POST \u003chttp://localhost:8000/api/auth/logout\u003e(need authorization)\n- POST \u003chttp://localhost:8000/api/auth/refresh\u003e(need authorization)\n- GET \u003chttp://localhost:8000/api/auth/me\u003e(need authorization)\n- GET \u003chttp://localhost:8000/api/user\u003e (need authorization)\n- POST \u003chttp://localhost:8000/api/user/create\u003e (need authorization)\n- POST \u003chttp://localhost:8000/api/user/update/{id}\u003e (need authorization)\n- GET \u003chttp://localhost:8000/api/user/delete/{id}\u003e (need authorization)\n- GET \u003chttp://localhost:8000/api/user/user/search?keyword={keyword}\u003e (need authorization)\n- GET \u003chttp://localhost:8000/api/user/paginate?per_page=10\u0026page=1\u003e (need authorization)\n- POST \u003chttp://localhost:8000/api/account/update\u003e (need authorization)\n- PUT \u003chttp://localhost:8000/api/account/change_password\u003e (need authorization)\n\n## Authorization\nset Headers `Authorization : Baarer\u003cYOUR_TOKEN\u003e`\nexample `Authorization : BaarereyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2Mjg4ODM4Y2U5YWZhMzViMmYxNTM3YjEiLCJpYXQiOjE2NTMxMTM3OTR9.7wdHLeDIxzJCm7ZyOWJSlk1b1HPp2Y4cxIVNzcnjf5g`\n\n## Documentation\n### Authentication\n\n#### 1. Register\n\n\u003e POST `http://localhost:8000/api/auth/register`\n```\nname: required\nemail: required|email|unique\npassword: required\n```\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Requests created successfully.\",\n    \"data\": true\n}\n```\n\n#### 2. Login\n\n\u003e POST `http://localhost:8000/api/auth/login`\n```\nemail: required\npassword: required\n```\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Login Successfully\",\n        \"data\": {\n        \"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY3OTcyODY4MSwiZXhwIjoxNjc5NzMyMjgxLCJuYmYiOjE2Nzk3Mjg2ODEsImp0aSI6ImI2RFc1TnBXVWc3bWJPd3MiLCJzdWIiOjQsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.j3XBkTO-kH9Iu45jW_RJTb2nZiApiA01vwDZUCLqOQ4\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 3600\n    }\n}\n```\n\n#### 3. Forget\n\n\u003e POST `http://localhost:8000/api/auth/forget`\n```\nemail: required\n```\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"email sent successfully\",\n    \"data\": []\n}\n```\n\n#### 4. Logout\n\n\u003e POST `http://localhost:8000/api/auth/logout`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Successfully logged out\",\n    \"data\": []\n}\n```\n\n#### 5. Token Refresh\n\n\u003e POST `http://localhost:8000/api/auth/refresh`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"JWT Token refresh Successfully\",\n    \"data\": {\n        \"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC9hdXRoXC9yZWZyZXNoIiwiaWF0IjoxNjg4MjAwOTY1LCJleHAiOjE2ODgyMDQ1OTIsIm5iZiI6MTY4ODIwMDk5MiwianRpIjoiaU9FcGlTeUNFUXJid0ZKVSIsInN1YiI6MywicHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NzZmNyJ9.SLL3kTdpZ7c9t5PKg0pswHx20-_1KPB0uKUmkbRA3PU\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 3600\n    }\n}\n```\n\n#### 6. Me\n\n\u003e GET `http://localhost:8000/api/auth/me`\n\nExample suceess Responds:\n```JSON\n{\n    \"id\": 3,\n    \"name\": \"test\",\n    \"email\": \"test@gmail.com\",\n    \"email_verified_at\": null,\n    \"photo\": \"avatar.png\",\n    \"created_at\": \"2023-06-30T18:50:12.000000Z\",\n    \"updated_at\": \"2023-06-30T18:51:04.000000Z\"\n}\n```\n\n### CRUD \n\n#### 1. Read\n\n\u003e GET `http://localhost:8000/api/user`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Read all user\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"Name\": \"test1\",\n            \"Email\": \"test1@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T15:02:08.000000Z\",\n            \"Updated_at\": \"2023-06-30T15:02:08.000000Z\"\n        },\n        {\n            \"id\": 2,\n            \"Name\": \"test2\",\n            \"Email\": \"test2@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T18:50:12.000000Z\",\n            \"Updated_at\": \"2023-06-30T18:51:04.000000Z\"\n        }\n        {\n            \"id\": 3,\n            \"Name\": \"test3\",\n            \"Email\": \"test3@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-07-30T18:50:12.000000Z\",\n            \"Updated_at\": \"2023-07-30T18:51:04.000000Z\"\n        }\n    ]\n}\n```\n\n#### 2. Create\n\n\u003e POST `http://localhost:8000/api/user/create`\n```\nname: required\nemail: required|email|unique:users\npassword: required\nphoto: required|image|mimes:jpeg,png,jpg,gif|max:2048\n```\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Create user\",\n    \"data\": []\n}\n```\n\n#### 3. Update\n\n\u003e POST `http://localhost:8000/api/user/update/{id}`\n```\nname: required\nemail: required|email\nphoto: image|mimes:jpeg,png,jpg,gif|max:2048\n```\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"update user with photo by id {id}\",\n    \"data\": []\n}\n```\n\n#### 4. Delete\n\n\u003e GET `http://localhost:8000/api/user/delete/{id}`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Delete user by id {id}\",\n    \"data\": []\n}\n```\n\n#### 5. Search\n\n\u003e GET `http://localhost:8000/api/user/search?keyword={keyword}`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Read user like {keyword}\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"Name\": \"test1\",\n            \"Email\": \"fajar@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T15:02:08.000000Z\",\n            \"Updated_at\": \"2023-06-30T15:02:08.000000Z\"\n        },\n        {\n            \"id\": 3,\n            \"Name\": \"test2\",\n            \"Email\": \"test25@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T18:50:12.000000Z\",\n            \"Updated_at\": \"2023-06-30T18:51:04.000000Z\"\n        },\n    ]\n}\n```\n\n#### 6. Pagination\n\n\u003e GET `http://localhost:8000/api/user/paginate?per_page=10\u0026page=1`\n\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Read user with pagination page 2\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"Name\": \"test1\",\n            \"Email\": \"fajar@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T15:02:08.000000Z\",\n            \"Updated_at\": \"2023-06-30T15:02:08.000000Z\"\n        },\n        {\n            \"id\": 3,\n            \"Name\": \"test2\",\n            \"Email\": \"test25@gmail.com\",\n            \"Photo\": \"avatar.png\",\n            \"Created_at\": \"2023-06-30T18:50:12.000000Z\",\n            \"Updated_at\": \"2023-06-30T18:51:04.000000Z\"\n        },\n    ]\n}\n```\n\n### Account\n\n#### 1. Update Account\n\n\u003e POST `http://localhost:8000/api/account/update`\n```\nname: required\nemail: required|email\nphoto: image|mimes:jpeg,png,jpg,gif|max:2048\n```\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"User account update with photo successfully\",\n    \"data\": []\n}\n```\n\n#### 2. Password Change\n\n\u003e PUT `http://localhost:8000/api/user/change_password`\n```\npassword: required|string|min:6|confirmed\npassword_confirmation: required|string|min:6\n```\nExample suceess Responds:\n```JSON\n{\n    \"response\": 200,\n    \"success\": true,\n    \"message\": \"Change password successfully\",\n    \"data\": []\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffajar-dev%2Flaravel-backend-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffajar-dev%2Flaravel-backend-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffajar-dev%2Flaravel-backend-starter/lists"}