{"id":25819226,"url":"https://github.com/noumanahmad448/lyskills","last_synced_at":"2026-04-11T05:04:31.335Z","repository":{"id":278947853,"uuid":"532320243","full_name":"NoumanAhmad448/lyskills","owner":"NoumanAhmad448","description":"Lyskills is a video based learning LMS for students and instructors","archived":false,"fork":false,"pushed_at":"2025-03-28T10:23:04.000Z","size":21029,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T11:23:45.802Z","etag":null,"topics":["amazon-s3","artisan","docker","docker-compose","jquery","jquery-ajax","laravel","laravel-framework","livewire","mysql","nginx","php","slack-message","spatie-laravel-health","tailwind","telescope","webpack"],"latest_commit_sha":null,"homepage":"","language":"Blade","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/NoumanAhmad448.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-03T16:53:01.000Z","updated_at":"2025-03-22T10:06:40.000Z","dependencies_parsed_at":"2025-03-28T11:32:43.887Z","dependency_job_id":null,"html_url":"https://github.com/NoumanAhmad448/lyskills","commit_stats":null,"previous_names":["noumanahmad448/lyskills"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/NoumanAhmad448/lyskills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoumanAhmad448%2Flyskills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoumanAhmad448%2Flyskills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoumanAhmad448%2Flyskills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoumanAhmad448%2Flyskills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoumanAhmad448","download_url":"https://codeload.github.com/NoumanAhmad448/lyskills/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoumanAhmad448%2Flyskills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272324028,"owners_count":24914329,"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-08-27T02:00:09.397Z","response_time":76,"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":["amazon-s3","artisan","docker","docker-compose","jquery","jquery-ajax","laravel","laravel-framework","livewire","mysql","nginx","php","slack-message","spatie-laravel-health","tailwind","telescope","webpack"],"created_at":"2025-02-28T08:44:52.362Z","updated_at":"2026-04-11T05:04:31.328Z","avatar_url":"https://github.com/NoumanAhmad448.png","language":"Blade","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\nLyskills\n\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n    A platform for learning and practicing skills\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/NoumanAhmad448/lyskills/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/hiyouga/LLaMA-Factory?style=social\" alt=\"GitHub Repo stars\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/NoumanAhmad448/lyskills/commits/master\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/NoumanAhmad448/lyskills\" alt=\"GitHub last commit\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/NoumanAhmad448/lyskills/graphs/contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/hiyouga/LLaMA-Factory?color=orange\" alt=\"GitHub contributors\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/NoumanAhmad448/lyskills/pulls\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-blue\" alt=\"GitHub pull request\"/\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\nA **Video-Based Learning Management System (LMS)** is a specialized platform designed to deliver, manage, and track educational courses and training programs primarily through video content. It is widely used in online education, corporate training, and skill development to provide an engaging and flexible learning experience.\n\n\n## Development\n\n1. Turn on xampp\n2. PHP server\n\n```\nphp artisan serve --port=8080\n```\n\n3. Turn on npm server\n\n```\nnpm run watch\n```\n## Docker Support\nRun following commands for docker setup\n```\ndocker compose build --no-cache\ndocker compose up -d\n```\nand then\n```\n127.0.0.1:8081\n```\nin the browser.\n``` We also support deploying docker in your remote server. For more information, please review```\n```\nftp_live_deployment.lyskills.yml\n```\n\n## Development Guildlines\n\n1. Add all global setting constants in `custom_lib .blade.php`\n2. custom javascript functions in `common_functions.js`\n3. show loader on user request `profile.js` and search for `hide loader` \u0026 `show loader`\n4. server logs `server_logs` function in `helper.php`\n5. server configuration `php_config` function in `helper.php`\n\n6. Add all global setting constants in `custom_lib .blade.php`\n7. custom javascript functions in `common_functions.js`\n8. show loader on user request `profile.js` and search for `hide loader` \u0026 `show loader`\n9. server logs `server_logs` function in `helper.php`\n10. server configuration `php_config` function in `helper.php`\n11. All php related dates or carbon classes is in ```LyskillsCarbon```\n\n```\n8. Checkout storage on server\n```\n\ndf -hi\n\n```\n9. cloudflare setup for extra security\n[Todo list after registeration](./cloudflare.todo.md)\n\n## Local Setup (For Development)\n1. install xampp (Required PHP version -\u003e 8.1) [Download Link](https://downloadsapachefriends.global.ssl.fastly.net/7.4.30/xampp-windows-x64-7.4.30-1-VC15-installer.exe?from_af=true)\n2. download node from https://github.com/coreybutler/nvm-windows/releases and use 20.0\n2. Copy\n\nfile and change the DB connection\n\n1. Create a database \u003cb\u003edb\u003c/b\u003e\n2. You need to follow of either mentioned path\n    1. One\n        1. run\n            1. db.sql\n            2. \u003cb\u003euser_ann_models.sql\u003c/b\u003e\n               file locally. These files are avaiable in the source code, path /\n        2. Add primary key manually in every table or create a alter query and try changing table name and primary key column\n    2. Second\n        1. php artisan migrate\n        2. Get dump from someone else and upload\n3. Create following folders\n```\nmkdir -p /home/nomilyskills/public_html/storage/app \nmkdir -p /home/nomilyskills/public_html/storage/framework/cache\nmkdir -p /home/nomilyskills/public_html/storage/framework/sessions \nmkdir -p /home/nomilyskills/public_html/storage/framework/views\nmkdir -p /home/nomilyskills/public_html/storage/logs\n```\n4. Run\n```\n\ncomposer install\n\n```\n5. Run\n```\n\nnpm install\n\n```\n6. Finally😍😍😍 Run\n```\n\nphp artisan serve --port=8081\n\n```\n\n```\n\n# Comprehensive Deployment Guidelines for Lyskills\n\nThis guide provides step-by-step instructions for deploying the **Lyskills** Laravel project to a server. It covers everything from preparing the project locally to configuring the server and verifying the deployment.\n\n---\n\n## **1. Pre-Deployment Preparation**\n\n### **1.1. Verify Local Environment**\n\n1. **PHP Version**: Ensure PHP 8.1 or higher is installed.\n    ```bash\n    php -v\n    ```\n\n```\n\n```\n\n2. **Composer**: Install Composer and verify its version.\n    ```bash\n    composer --version\n    ```\n    ```bash\n    composer --version\n    ```\n3. **Node.js**: Install Node.js and verify its version.\n    ```bash\n    node -v\n    npm -v\n    ```\n    ```bash\n    node -v\n    npm -v\n    ```\n\n### **1.2. Prepare the Laravel Project**\n\n1. **Update `.env` File**:\n\n    - Configure the `.env` file with the correct database credentials, app URL, and other environment-specific settings.\n    - Example:\n      `env APP_URL=http://your_website.com DB_HOST=127.0.0.1 DB_DATABASE=lyskills_db DB_USERNAME=web_server_lyskills_root5 DB_PASSWORD=your_password`\n      `Skip this step if you are using ftp_live_deployment.lyskills.yml for CI/CD pipeline deployment. Ensure all secrets are set in the github repo secrets.`\n\n    - Configure the `.env` file with the correct database credentials, app URL, and other environment-specific settings.\n    - Example:\n      `env APP_URL=http://your_website.com DB_HOST=127.0.0.1 DB_DATABASE=lyskills_db DB_USERNAME=web_server_lyskills_root5 DB_PASSWORD=your_password`\n      `Skip this step if you are using ftp_live_deployment.lyskills.yml for CI/CD pipeline deployment. Ensure all secrets are set in the github repo secrets.`\n\n2. **Clear Laravel Cache**:\n   Run the following commands to clear the cache and optimize the project:\n\n    ```bash\n    php artisan config:clear\n    php artisan cache:clear\n    php artisan view:clear\n    php artisan route:clear\n    php artisan optimize\n    ```\n\n    ```bash\n    php artisan config:clear\n    php artisan cache:clear\n    php artisan view:clear\n    php artisan route:clear\n    php artisan optimize\n    ```\n\n3. **Install Dependencies**:\n   Install Composer and Node.js dependencies:\n    ```bash\n    composer install --no-dev --optimize-autoloader\n    npm install\n    npm run production\n    ```\n    ```bash\n    composer install --no-dev --optimize-autoloader\n    npm install\n    npm run production\n    ```\n\n---\n\n## **2. Server Configuration**\n\n### **2.1. Verify Server Requirements**\n\n1. **PHP Version**: Ensure the server has PHP 8.1 or higher.\n    ```bash\n    php -v\n    ```\n    ```bash\n    php -v\n    ```\n2. **Apache/Nginx**: Verify the web server is running.\n    ```bash\n    systemctl status httpd  # For Apache\n    systemctl status nginx  # For Nginx\n    ```\n    ```bash\n    systemctl status httpd  # For Apache\n    systemctl status nginx  # For Nginx\n    ```\n3. **MySQL**: Ensure MySQL is installed and running.\n    ```bash\n    systemctl status mysql\n    ```\n    ```bash\n    systemctl status mysql\n    ```\n\n### **2.2. Create FTP Access**\n\n1. In cPanel, go to **FTP Accounts**.\n2. Create a new FTP account with access to the domain's root directory (e.g., `/home/web_server/public_html`).\n\n---\n\n## **3. Upload the Project to the Server**\n\n### **3.1. Connect via FTP**\n\n1. Use an FTP client like **FileZilla**.\n2. Enter the following details:\n    - **Host**: `your_website.com` or the server IP.\n    - **Username**: `your_ftp_username` (e.g., `lyskills_user@your_website.com`).\n    - **Password**: Your FTP password.\n    - **Port**: `21` (default FTP port).\n    - **Host**: `your_website.com` or the server IP.\n    - **Username**: `your_ftp_username` (e.g., `lyskills_user@your_website.com`).\n    - **Password**: Your FTP password.\n    - **Port**: `21` (default FTP port).\n3. Upload the Laravel project files to the server's root directory (e.g., `/home/web_server/public_html`).\n\n### **3.2. Set File Permissions**\n\nSet the correct permissions for the Laravel project:\n\n```bash\nchmod -R 755 /home/web_server/public_html\nchmod -R 775 /home/web_server/public_html/storage\nchmod -R 775 /home/web_server/public_html/bootstrap/cache\n```\n\n---\n\n## **4. Configure the Server**\n\n### **4.1. Update Apache Configuration**\n\n1. Edit the Apache configuration file:\n    ```bash\n    nano /etc/httpd/conf/httpd.conf\n    ```\n    ```bash\n    nano /etc/httpd/conf/httpd.conf\n    ```\n2. Ensure the `DocumentRoot` points to the Laravel project's `public` directory:\n    ```apache\n    DocumentRoot \"/home/web_server/public_html/public\"\n    ```\n    ```apache\n    DocumentRoot \"/home/web_server/public_html/public\"\n    ```\n3. Restart Apache:\n    ```bash\n    systemctl restart httpd\n    ```\n    ```bash\n    systemctl restart httpd\n    ```\n\n### **4.2. Update PHP Configuration**\n\n1. Edit the PHP configuration file:\n    ```bash\n    nano /opt/cpanel/ea-php80/root/etc/php.ini\n    ```\n    ```bash\n    nano /opt/cpanel/ea-php80/root/etc/php.ini\n    ```\n2. Ensure the following settings are configured:\n    ```ini\n    upload_max_filesize = 8G\n    post_max_size = 8G\n    memory_limit = 8G\n    ```\n    ```ini\n    upload_max_filesize = 8G\n    post_max_size = 8G\n    memory_limit = 8G\n    ```\n\n---\n\n## **5. Database Setup**\n\n### **5.1. Import the Database**\n\n1. Connect to MySQL:\n    ```bash\n    mysql -h 127.0.0.1 -P 3306 -u web_server_lyskills_root5 -p\n    ```\n    ```bash\n    mysql -h 127.0.0.1 -P 3306 -u web_server_lyskills_root5 -p\n    ```\n2. Create a new database (if not already created):\n    ```sql\n    CREATE DATABASE lyskills_db;\n    ```\n    ```sql\n    CREATE DATABASE lyskills_db;\n    ```\n3. Import the database dump:\n    ```bash\n    mysql -u web_server_lyskills_root5 -p lyskills_db \u003c /path/to/dump.sql\n    ```\n   \n### **5.2. Verify Database Connection**\n\nEnsure the `.env.example` file has the correct database credentials:\n\n```env\nDB_HOST=127.0.0.1\nDB_DATABASE=lyskills_db\nDB_USERNAME=web_server_lyskills_root5\nDB_PASSWORD=your_password\n```\n\n---\n\n## **6. Verify the Deployment**\n\n### **6.1. Test the Website**\n\n1. Open your browser and navigate to `http://your_website.com`.\n2. Verify that the Laravel application loads correctly.\n\n### **6.2. Check Laravel Logs**\n\nIf there are issues, check the Laravel logs:\n\n```bash\nnano /home/web_server/public_html/storage/logs/laravel.log\n```\n\n---\n\n## **Post-Deployment Tasks**\n\n### **7.1. Set Up Cron Jobs**\n\nSet up a cron job for Laravel's scheduler:\n\n1. Open the crontab:\n    ```bash\n    crontab -e\n    ```\n    ```bash\n    crontab -e\n    ```\n2. Add the following line:\n    ```bash\n    * * * * * php /home/web_server/public_html/artisan schedule:run \u003e\u003e /dev/null 2\u003e\u00261\n    ```\n\n### **7.2. Configure Queue Workers**\n\nIf using queues, start the queue worker:\n\n```bash\nphp /home/web_server/public_html/artisan queue:work --daemon\n```\n\n---\n\n## **8. Troubleshooting**\n\n### **8.1. File Upload Issues**\n\n-   Ensure `upload_max_filesize` and `post_max_size` are increased in `php.ini`.\n-   Verify file permissions for the `storage` directory.\n\n-   Ensure `upload_max_filesize` and `post_max_size` are increased in `php.ini`.\n-   Verify file permissions for the `storage` directory.\n\n### **8.2. MySQL Connection Issues**\n\n-   Verify MySQL credentials in `.env`.\n-   Ensure the MySQL service is running:\n\n    ```bash\n    systemctl status mysql\n    ```\n\n-   Verify MySQL credentials in `.env`.\n-   Ensure the MySQL service is running:\n    ```bash\n    systemctl status mysql\n    ```\n\n### **8.3. Apache Configuration Errors**\n\n-   Check for syntax errors:\n    ```bash\n    apachectl configtest\n    ```\n-   Ensure the `mod_rewrite` module is enabled.\n\n-   Check for syntax errors:\n    ```bash\n    apachectl configtest\n    ```\n-   Ensure the `mod_rewrite` module is enabled.\n\nBy following these comprehensive deployment guidelines, you can successfully deploy the **Lyskills** Laravel project to the server.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoumanahmad448%2Flyskills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoumanahmad448%2Flyskills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoumanahmad448%2Flyskills/lists"}