{"id":14975026,"url":"https://github.com/yasserelgammal/blog-cms","last_synced_at":"2025-04-06T09:06:22.450Z","repository":{"id":162927625,"uuid":"584229559","full_name":"YasserElgammal/blog-cms","owner":"YasserElgammal","description":"Blog / CMS using Laravel Framework - CMS Blog with full control panel functionality with users roles, Also API to retreive data.","archived":false,"fork":false,"pushed_at":"2024-10-24T20:57:46.000Z","size":656,"stargazers_count":78,"open_issues_count":0,"forks_count":48,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-06T09:06:17.111Z","etag":null,"topics":["admin-dashboard","blog","blog-cms","cms","laravel","laravel-cms","laravel-framework","laravel-multi-login","laravel-resources","laravel10","laravel11","laravel9","php","php-blog-cms","polymorphic-relationships","rest-api","tailwind"],"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/YasserElgammal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"YasserElgammal","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2023-01-01T23:15:03.000Z","updated_at":"2025-03-25T09:31:50.000Z","dependencies_parsed_at":"2024-04-03T08:28:30.022Z","dependency_job_id":"111cc99b-0765-4db7-9b61-e5ed4e84806d","html_url":"https://github.com/YasserElgammal/blog-cms","commit_stats":{"total_commits":64,"total_committers":2,"mean_commits":32.0,"dds":0.015625,"last_synced_commit":"ae8402668ef2e25b11da9592bf6eb5f0044d10d5"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasserElgammal%2Fblog-cms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasserElgammal%2Fblog-cms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasserElgammal%2Fblog-cms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasserElgammal%2Fblog-cms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YasserElgammal","download_url":"https://codeload.github.com/YasserElgammal/blog-cms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457799,"owners_count":20941906,"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":["admin-dashboard","blog","blog-cms","cms","laravel","laravel-cms","laravel-framework","laravel-multi-login","laravel-resources","laravel10","laravel11","laravel9","php","php-blog-cms","polymorphic-relationships","rest-api","tailwind"],"created_at":"2024-09-24T13:51:24.950Z","updated_at":"2025-04-06T09:06:22.432Z","avatar_url":"https://github.com/YasserElgammal.png","language":"PHP","funding_links":["https://github.com/sponsors/YasserElgammal"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://laravel.com\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg\" width=\"400\" alt=\"Laravel Logo\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n### Project Description\nThis is CMS Blog Build with Laravel, It has full control panel functionality with users roles.\n[Recorded Video for the whole project](https://youtu.be/HUvpQ2WR9rg \"Recorded Video for the whole project\")\n\n### What I use it this project\n- Laravel Framework 11,\n- Tailwind for front and admin,\n- Laravel Policies,\n- Laravel Gates,\n- Laravel Mail,\n- Laravel Queues ( Building weekly Newsletter ),\n- Custom Validation Rule,\n- Comments, Applied ( Polymorphic relationship ),\n- Applied ( One to many and Many to many ) relationships betwen models,\n- Posts Views Count using Cookies,\n- Faker \u0026 Database Seeder,\n- jQuery\n- SEO friendly slug URLS,\nl\n### Screenshots\n\n#### Data Base Schema\n\u003cimg src=\"screenshot/schema-database-blog-cms-Yasser-Elgammal.png\" width=\"750\" alt=\"Database Schema - BlogCMS - YasserElgammal\"\u003e\n\n#### Admin Panel\n\u003cimg src=\"screenshot/admin-panel-admin.png\" width=\"750\" alt=\"Admin Panel - BlogCMS - YasserElgammal\"\u003e\n\n#### Writer Panel\n\u003cimg src=\"screenshot/admin-panel-writer.png\" width=\"750\" alt=\"Writer Panel - BlogCMS - YasserElgammal\"\u003e\n\n#### Front Blog\n\u003cimg src=\"screenshot/blog-front.png\" width=\"750\" alt=\"Front Blog - BlogCMS - YasserElgammal\"\u003e\n\n#### Front Blog - PostView\n\u003cimg src=\"screenshot/post-view.png\" width=\"750\" alt=\"Front Blog - PostView - BlogCMS - YasserElgammal\"\u003e\n\n\n### Project Functionality\n#### Admin Panel\n- Edit General Blog informations,\n- Create/ Update / Delete ( Categories, Posts, Tags and Custom Pages )\n- Manage Roles\n\n### Writer Panel\n- Create, Update and Delete it own Posts\n- Create, Update and Delete Tags.\n\n### Roles\n                    \nRole Name  | Role_ID\n------------- | -------------\nAdmin  | 1\nWriter | 2 \nUser | 3\n                \n\n### Gate Function\nThere is a gate filter login when the user login to the admin panel if the user is Admin it will have full functions to manage the blog and if a Writer it will have few functions.\n\n### Api Routes\n                    \nMethod  | End_Point | Description\n------------- | ------------- | -------------\nGET | api/categories | Show All Categories\nGET | api/categories/{id} | Show All Posts inside Specific Category\nGET | api/posts | Show All Posts\nGET | api/posts/{id} | Show Specific Post\n\n## Requirements\n- PHP \u003e= 8.2\n- MySQL or other database server\n- Composer\n- NodeJS\n\n### How to Install\n1. Clone the project\n2. Go to the project root directory and run `composer install` and `npm install`\n3. Create `.env` file and copy content from `.env.example`\n4. Run `php artisan key:generate` from terminal\n5. Change database information in `.env`\n6. Run migrations by executing `php artisan migrate` , Then Run  `php artisan db:seed` if you want use faker database records,\n7. Start the project by running `php artisan serve`\n\n### Demo Account\n- AdminURL: http://127.0.0.1:8000/admin\n- Email: admin@example.com\n- Password: password\n\n## About Me\n\nIam a Backend Developer with 2+ year of experience, I specialize in PHP, Laravel, and front-end technologies like TailwindCSS and Livewire. I have expertise in developing REST APIs and working with MySQL databases, and I am familiar with software architecture patterns such as MVC and HMVC. I am committed to producing clean, well-documented code that is easily maintainable, and I enjoy sharing my knowledge through various channels. I am eager to take on new challenges and continue to develop my skills.\n\n- [LinkedIn](https://www.linkedin.com/in/elgammal/).\n- [Youtube](https://www.youtube.com/@yasser.elgammal).\n- [Dev_to](https://dev.to/yasserelgammal).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasserelgammal%2Fblog-cms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyasserelgammal%2Fblog-cms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasserelgammal%2Fblog-cms/lists"}