##### Server requirements

- PHP: 7.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- ZIP PHP Extension
- BCMath PHP Extension

##### Development Requirements

- Node.js 14+
- npm 6+

##### How to Configure Locally

1. You will get two folders.
   - development
   - documentation
2. Go to the development folder, you will find all the development files.
3. Copy all the content from .env.example and then paste it on .env file.
4. Open terminal on the development root folder and write `composer install` and press enter.
5. After completing the composer installation write `php artisan key:generate` and press enter. It will generate APP_KEY
6. Configure your database to provide database credentials.
7. Run `php artisan migrate`
8. Run `php artisan db:seed`
9. Or you can run `php artisan migrate:fresh --seed` which will run the previous both commands.
10. After completing the database migration you should run `yarn install` or `npm install` and press enter.
11. Then run `yarn watch` or `npm run watch` .
12. Serving Laravel: If you want to use PHP's buit-in development server, you may use the `php artisan serve` . By default the HTTP-server will listen to port 8000. You can also change the port by adding
    `--port` argument like `php artisan serve --port=8080` .

##### How to Configure on Server

You can see that we are not giving you the vendor & node_modules folder. When you install laravel via composer you will find the vendor folder. That's why we are giving you this `composer install` command. Using this command you will get all the laravel dependencies. Another command is `npm install` or `yarn install` which will give you node_modules. These are the package dependencies manager.

When you want to upload readykit development folder you need to follow all the "How to configure locally" steps. Then make a zip file and upload it on your server. Please folow the the instructions which is given bellow

1. Upload your zip on server and extract it. Like these
2. Create a database on server.
3. Make a database user.
4. Add user to database with all privileges.
5. Configure your database to provide database credentials on `.env` file.
6. Now you need to restructure something. Go to your `development/public` folder and select all without `mix-manifest.json`. Make sure that you are showing all hidden files.
7. Move all the selected files and folders to your root where your zip extract like `development`
8. Now you need to edit your `index.php` file. When you open it you will see something like these.
   We just redirect our require path. Here our require path is `development`. So we just change `/../` to `/development/` and save. Image given below.
9. Now open your browser new tab and browse your url. Then you will find a migration error because your database are not migrate yet. In your url bar write `/install-demo-data` it will migrate and seed all the data. And also clear all the cache, config, view etc. Image given bellow.
   It will return `1`. After that delete `/install-demo-data` from your url bar and press enter.
10. Final step we need to make `symlink` with storage folder. Just write `/symlink` in url bar.