{"id":15188584,"url":"https://github.com/monika171/book-planet","last_synced_at":"2026-03-04T00:47:34.030Z","repository":{"id":187420079,"uuid":"676871626","full_name":"Monika171/Book-Planet","owner":"Monika171","description":"A book catalogue 📚","archived":false,"fork":false,"pushed_at":"2023-09-05T00:57:34.000Z","size":448,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"assignment01","last_synced_at":"2025-01-10T04:55:48.329Z","etag":null,"topics":["blade-template-engine","docker","eloquent-orm","javascript","laravel6","php","phpunit-tests","tailwind-css"],"latest_commit_sha":null,"homepage":"https://the-book-planet.000webhostapp.com/","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/Monika171.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-08-10T07:51:47.000Z","updated_at":"2023-08-10T22:15:41.000Z","dependencies_parsed_at":"2024-09-23T16:01:51.632Z","dependency_job_id":null,"html_url":"https://github.com/Monika171/Book-Planet","commit_stats":{"total_commits":23,"total_committers":2,"mean_commits":11.5,"dds":0.04347826086956519,"last_synced_commit":"47fc31e2ed011b46b097eefb47279bdc3bbf6c4d"},"previous_names":["monika171/book-planet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monika171%2FBook-Planet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monika171%2FBook-Planet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monika171%2FBook-Planet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monika171%2FBook-Planet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Monika171","download_url":"https://codeload.github.com/Monika171/Book-Planet/tar.gz/refs/heads/assignment01","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240988292,"owners_count":19889484,"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":["blade-template-engine","docker","eloquent-orm","javascript","laravel6","php","phpunit-tests","tailwind-css"],"created_at":"2024-09-27T19:23:01.499Z","updated_at":"2026-03-04T00:47:33.997Z","avatar_url":"https://github.com/Monika171.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Book Planet\n\n\u003cp align=\"center\"\u003e \u003cimg src=\"https://github.com/Monika171/Book-Planet/blob/assignment01/src/public/images/book-planet.png\" width=750\u003e \u003c/p\u003e\n\nWebsite Link: [https://the-book-planet.000webhostapp.com/](https://the-book-planet.000webhostapp.com/)\n\nA catalogue where all the book information can be seen and can be also exported as CSV and XML. There is a search box for quicker access and the list can also be sorted. One can even add a new book information (title \u0026 author), update the same if required and delete book info.\n\n## Getting Started\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/install)\n- [Docker Compose](https://docs.docker.com/compose/install)\n\n### Setup\n\n1. Clone the repository.\n1. Start the containers by running `docker-compose up -d` in the project root.\n1. Install the composer packages by running `docker-compose exec laravel composer install`.\n1. Access the Laravel instance on `http://localhost` (If there is a \"Permission denied\" error, run `docker-compose exec laravel chown -R www-data storage`).\n\nNote that the changes you make to local files will be automatically reflected in the container.\n\n### Persistent database\n\nIf you want to make sure that the data in the database persists even if the database container is deleted, add a file named `docker-compose.override.yml` in the project root with the following contents.\n\n```\nversion: \"3.7\"\n\nservices:\n  mysql:\n    volumes:\n    - mysql:/var/lib/mysql\n\nvolumes:\n  mysql:\n```\n\nThen run the following.\n\n```\ndocker-compose stop \\\n  \u0026\u0026 docker-compose rm -f mysql \\\n  \u0026\u0026 docker-compose up -d\n```\n\n## Usage\n\n### Database Setup\n\nThis app uses MySQL.\n\n### Migrations\n\n1. To access the running container (in this case “assignment01-laravel”), in the project root, run:\n\n```\ndocker exec -it assignment01-laravel bash\n```\n\n2. To create all the necessary tables and columns, run the following\n\n```\nphp artisan migrate\n```\n\n### Seeding The Database\n\nTo add the dummy titles and author, run:\n\n```\nphp artisan db:seed\n```\n\n## Running the tests\n\n1. To access the running container (in this case “`assignment01-laravel`”), in the project root, run:\n\n```\ndocker exec -it assignment01-laravel bash\n```\n\n2. Always clear configuration cache before running tests:\n\n```\nphp artisan config:clear\n```\n\n3. Run PHPUnit tests by:\n\n```\n./vendor/bin/phpunit\n```\n\nThis should look like the image below:\n\n\u003cp align=\"center\"\u003e \u003cimg src=\"https://github.com/Monika171/Book-Planet/blob/assignment01/src/public/images/book_planet_test_output.png\" width=750\u003e \u003c/p\u003e\n\n## Deployment\n\n### Hosting over [InfinityFree](https://www.infinityfree.com/)\n\n1. Sign up or Log in.\n\n1. Navigate to account section called `Hosting Accounts`, and `Create Account` where \u003ci\u003esubdomain\u003c/i\u003e and \u003ci\u003edomain extension\u003c/i\u003e will be registered based on availability.\n\n1. Click on account created and go to the `Control Panel`. Approve and proceed.\n\n1. In `DATABASES` click on `MySQL Databases` and create a database.\n\n1. [Download](https://filezilla-project.org/download.php) and open FileZilla (from `Free FTP Software` in cpanel).\n\n   - Inside the application, go to `File` and create a `New site` from `Site Manager` with cpanel account FTP HostName, Port `21`, FTP Username, Logon Type `Normal` and FTP Password.\n     - \u003ci\u003ePlease reset FTP password in case it doesn’t work the first time.\u003c/i\u003e\n\n1. After successful connection, directory `/` should appear, which has `htdocs` inside it.\n\n1. Inside htdocs, create a new directory (for example say: `laravel`).\n\n1. Go to the laravel project to be deployed on the left.\n\n1. Upload the contents of the `public` directory of the project to `htdocs` on the right and rest of the contents except 'public' (and '.git' if exists) directory to that new directory which was created in step 7 (‘`laravel`’ in this example).\n\n1. Once uploaded, go to `control panel` again from step 3.\n\n1. Click on `Online File Manager` in FILES and then `htdocs`. Edit and update the paths in `index.php` file for new folder name (for example here `laravel`)  \n   Example below:  \n   \u003cu\u003eBefore\u003c/u\u003e:\n\n   ```\n   __DIR__.'/../bootstrap/app.php'\n   ```\n\n   \u003cu\u003eAfter\u003c/u\u003e:\n\n   ```\n   __DIR__.'/laravel/bootstrap/app.php'\n   ```\n\n1. Delete `config.php` (if exists) from `/htdocs/laravel/bootstrap/cache`.\n\n1. Update contents of `.env` file inside `/htdocs/laravel` with the right data for db host, port, database name, username and password which were created earlier.\n\n1. From local environment database `export` all tables.\n\n1. In cpanel, go to `MySQL Databases` in DATABASES again and click on `Admin`. Click on `Import` from top toolbar and select the exported file from the previous step.\n\n1. The laravel project should work now.\n\n### Hosting over [000webhost](https://www.000webhost.com/)\n\n1. Sign up or Log in.\n\n1. `Create a new website`.\n\n1. Click on `Manage`.\n\n1. In `FILES` click on `File Manager`.\n\n1. Upload compressed form of the local laravel project and [Unzipper php](https://github.com/ndeet/unzipper) in `public_html`.\n\n1. Go to `https://\u003cwebsite-name\u003e.000webhostapp.com/unzipper.php`.\n\n1. Select the right laravel project compressed file and click on `Unzip Archive`.\n\n1. Move unzipped contents of laravel project to '`/`'.\n\n1. Delete `public_html` directory and rename current `public` to “public_html”.\n\n1. In `app/providers` add the following to `AppServiceProvider.php`:\n\n   ```\n     public function register(): void\n      {\n        $this-\u003eapp-\u003ebind('path.public', function(){\n            return base_path('public_html');\n        });\n      }\n   ```\n\n1. Go to `.env` file and copy `APP_KEY` after ‘base64:’\n\n1. Navigate to `/config/app.php`. Paste and save the previously copied value as:  \n   `'key' =\u003e env('APP_KEY', base64_decode(‘copied_APP_KEY_value’))`\n\n1. From local project environment database `export` all tables.\n\n1. In the website dashboard, scroll down to `DATABASES` and click on `MySQL Databases` to `Create New Database`.\n\n1. In `Manage Database`, from the newly created database, click on `PhpMyAdmin` on the right.\n\n1. Click on `Import` from top toolbar and select the previously exported file.\n\n1. Update the `.env` file with all the new details such as:  \n   `DB_HOST`, `DB_DATABASE`, `DB_USERNAME` and `DB_PASSWORD`.\n\n1. Visit the created website again and if everything is working as it should, in `.env` file, make `APP_DEBUG=false`.\n\n## App Info\n\n### Built With\n\n- [Laravel Framework 6.18.0](https://laravel.com/docs/6.x/releases)\n- [Tailwind CSS](https://tailwindcss.com/docs/installation/play-cdn)\n\n### Version\n\n1.0.0\n\n### Author\n\nMonika Rabha\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonika171%2Fbook-planet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonika171%2Fbook-planet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonika171%2Fbook-planet/lists"}