GitLab now enforces expiry dates on tokens that originally had no set expiration date. Those tokens were given an expiration date of one year later. Please review your personal access tokens, project access tokens, and group access tokens to ensure you are aware of upcoming expirations. Administrators of GitLab can find more information on how to identify and mitigate interruption in our documentation.
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
-[Simple, fast routing engine](https://laravel.com/docs/routing).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
-**[Vehikl](https://vehikl.com/)**
-**[Tighten Co.](https://tighten.co)**
-**[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
# Datalearn
Datalearn is simple LMS with spreadsheet and autograder tools. It uses Google Spreadsheet with Sheets and Drive API. This application is developed for my final project.
## Tech Stack
- Framework used is **Laravel 6.18.3** with **PHP 7**
- Database used is **MySQL**
## Requirements
- PHP 7.4 or newer
- MySQL 10.4.11-MariaDB or newer
- Composer 1.9.3 or newer
## Installation
1. Make a copy `.env.example` and change its name to `.env`
2. Customize `.env` file with your configuration
3. Create a new database with the same name as defined in `.env` file
4. Run these commands in terminal
```
composer install
composer update
php artisan storage:link
php artisan key:generate
php artisan config:cache
php artisan migrate
```
5. The application uses Google Spreadsheet. Configure the Google Service Account to use it
6. This application uses TinyMCE. Configure it
7. There are problems with the libraries. Fix it
8. Congratulation, the application has been successfully installed. Run the application with this command
```
php artisan serve
```
## Configure Google Service Account
1. Open [Google API Console](https://console.developers.google.com)
2. Go to **Credentials tab** and open **CREATE CREDENTIALS --> Service Account**
3. Fill the forms in first step. Second step and third step are optional
4. After done, there is a service account that newly created under **Service Accounts** list. Open it
5. Click the button **ADD KEY** and choose **JSON**
6. Download the file and change its name to `credentials.json`
7. Move this file to project directory in `app/Http/Controllers`
8. Finish
## Configure TinyMCE
1. Open [TinyMCE](https://www.tiny.cloud)
2. Complete the registration
3. After that, you got API Key in Dashboard
4. Copy the API Key and paste to `app.blade.php` file in project direcotry `resources/views/layouts` on `line 16`