{"id":16294774,"url":"https://github.com/finesse/testtaskorderapplication","last_synced_at":"2025-04-09T12:47:27.807Z","repository":{"id":94077437,"uuid":"147146093","full_name":"Finesse/TestTaskOrderApplication","owner":"Finesse","description":"A Laravel \u0026 Vue test task for an anonymous company","archived":false,"fork":false,"pushed_at":"2018-09-10T12:11:50.000Z","size":514,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T06:45:09.183Z","etag":null,"topics":["appliation","laravel","order-form","test-task","twitter-bootstrap","vue"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":false,"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/Finesse.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":"2018-09-03T03:19:39.000Z","updated_at":"2019-06-17T03:47:44.000Z","dependencies_parsed_at":"2023-07-26T19:32:04.523Z","dependency_job_id":null,"html_url":"https://github.com/Finesse/TestTaskOrderApplication","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finesse%2FTestTaskOrderApplication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finesse%2FTestTaskOrderApplication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finesse%2FTestTaskOrderApplication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finesse%2FTestTaskOrderApplication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Finesse","download_url":"https://codeload.github.com/Finesse/TestTaskOrderApplication/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045221,"owners_count":21038553,"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":["appliation","laravel","order-form","test-task","twitter-bootstrap","vue"],"created_at":"2024-10-10T20:16:27.884Z","updated_at":"2025-04-09T12:47:27.786Z","avatar_url":"https://github.com/Finesse.png","language":"PHP","readme":"# Order application\n\nThe task was to make an application with an order form. To make an order, the user must:\n\n1. Specify his/her name, phone number and address\n2. Choose a tariff\n3. Choose a start day (from the days possible for the tariff)\n\nWhen the order is made, all the client and the order data is stored in the database.\n\nAll the orders with the same phone number are associated with the same client.\nThere mustn't be multiple clients with the same phone number in the database.\n\nThe tariffs are added to the database during the installation.\nEach tariff has a name, a price and possible days.\n\nThe application is made on top of [Laravel](http://laravel.com), [Vue](http://vuejs.org) and [Bootstrap](http://getbootstrap.com).\nAll the client-server data transmissions is implemented with AJAX without page reloading.\n\n## Assumptions\n\n* «Days» are considered as the days of week (Sunday, Monday, etc.).\n* There are few tariffs so they all can be loaded to the form at once.\n* A separate view layout is not required because there is only one page.\n* All the tariffs are publicly available so a simple `exists:tariffs,id` request validation can be used.\n* The business logic is in the controller and not in a separate class because it's simple and doesn't repeat.\n* Automatic tests are not required in the task.\n* The application should run on multiple instances so using a file (or any other single-instance resource) is not an option to prevent race condition.\n\n## How to install\n\nRequirements:\n\n* PHP ≥ 7.1.3\n* MySQL ≥ 5.5; PostrgeSQL may suit too but I haven't tested \n* [Composer](https://getcomposer.org) (only during installation)\n\nInstallation:\n\n1. Download this source code.\n2. Create an empty database with the `utf8mb4` encoding.\n3. Copy the configuration file from `.env.example` to `.env`, open `.env` in an editor and set the options up.\n4. Go the the code directory in a terminal and execute:\n    ```bash\n    composer install # Add --no-dev to skip the dependencies not required on production\n    php artisan key:generate\n    php artisan migrate\n    php artisan db:seed\n    ```\n\nTo start the application in the development mode, simply execute `php artisan serve` in a console and open http://localhost:8000 in a browser.\n\nIn a production environment, setup a web server to serve the application:\n\n1. Make the following directories and their subdirectories be writable by the web server:\n    - `bootstrap/cache`\n    - `storage`\n2. Make the `public` directory be the document root of the server or a virtual host and make the server redirect all the\n    missing file requests to `public/index.php`. More information: https://laravel.com/docs/5.6/installation#web-server-configuration\n3. Cache the stuff by running in a console:\n    ```bash\n    php artisan config:cache\n    php artisan route:cache\n    ```\n\n## How to update\n\n1. Download the fresh version of the source code or execute `git pull` if you installed the code using Git.\n2. Go to the code directory in a terminal and execute:\n    ```bash\n    composer install # Add --no-dev to skip the dependencies not required on production\n    php artisan migrate\n    ```\n3. If you cached the stuff before, update the cache:\n    ```bash\n    php artisan config:cache\n    php artisan route:cache\n    ```\n\n## How to build frontend assets\n\nThe frontend assets source code is located in the `resources/assets` directory.\nThe compiled assets are located in the `public` directory.\n\nAfter you made a change in the source code, you need to compile it:\n\n1. Install [Node.js](http://nodejs.org/)\n2. Open the project root directory in a console and execute `npm install` (required only once)\n3. Execute `npm run watch`\n4. Before commiting the code, execute `npm run prod` to have production-ready assets in the repository\n\n## Caveats\n\n* Don't add or remove rows from the `locks` table unless you know how they are used.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinesse%2Ftesttaskorderapplication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffinesse%2Ftesttaskorderapplication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinesse%2Ftesttaskorderapplication/lists"}