├── public ├── favicon.ico ├── robots.txt ├── img │ ├── exo.jpg │ ├── logo.ico │ ├── favicon.ico │ ├── tutwuri.jpg │ └── logo-white.png ├── mix-manifest.json ├── installer │ ├── img │ │ ├── pattern.png │ │ ├── background.png │ │ └── favicon │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ └── favicon-96x96.png │ ├── fonts │ │ ├── ionicons.eot │ │ ├── ionicons.ttf │ │ ├── ionicons.woff │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ └── css │ │ ├── scss │ │ ├── font-awesome │ │ │ ├── _fixed-width.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _core.scss │ │ │ ├── font-awesome.scss │ │ │ ├── _stacked.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _path.scss │ │ │ └── _animated.scss │ │ └── _variables.scss │ │ └── sass │ │ └── _variables.sass ├── download │ ├── format-sesi-import.xlsx │ ├── format-user-import.xlsx │ ├── format-input-soal-pg.docx │ ├── format-matpel-import.xlsx │ ├── format-input-soal-doc-2.docx │ ├── format-input-soal-doc.docx │ ├── format-input-soal-esay.docx │ ├── format-input-soal-exc.xlsx │ ├── format-peserta-import.xlsx │ └── format-group-member-import.xlsx ├── .htaccess └── web.config ├── bootstrap └── cache │ └── .gitignore ├── storage ├── logs │ └── .gitignore ├── app │ └── .gitignore └── framework │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── cache │ ├── data │ │ └── .gitignore │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── database ├── .gitignore ├── seeds │ ├── TokenSeeder.php │ ├── InfoFeatureSeeder.php │ ├── JurusanUmum.php │ ├── UserSeeder.php │ ├── DatabaseSeeder.php │ ├── MatpelSeeder.php │ ├── SettingSeeder.php │ └── AgamaSeeder.php ├── migrations │ ├── 2024_01_28_072638_create_menuses_table.php │ ├── 2024_01_28_072747_create_role_menuses_table.php │ ├── 2020_07_15_145941_create_tokens_table.php │ ├── 2023_09_01_210528_add_label_mark_to_jawaban_soals_table.php │ ├── 2020_07_10_012014_create_agamas_table.php │ ├── 2021_05_12_093907_create_feature_infos_table.php │ ├── 2020_07_10_011228_create_event_ujians_table.php │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ ├── 2020_07_10_011018_create_jurusans_table.php │ ├── 2020_07_10_011355_create_directories_table.php │ ├── 2021_03_09_184343_create_groups_table.php │ ├── 2020_07_10_012151_create_settings_table.php │ ├── 2020_07_15_120620_create_ujians_table.php │ ├── 2022_07_26_080234_create_exo_backups_table.php │ ├── 2019_12_14_000001_create_personal_access_tokens_table.php │ ├── 2020_10_18_102712_create_sesi_schedules_table.php │ ├── 2020_07_10_011535_create_files_table.php │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2021_07_17_094457_create_banksoal_adaptif_table.php │ ├── 2020_07_10_011826_create_jawaban_soals_table.php │ ├── 2020_07_10_011145_create_matpels_table.php │ ├── 2021_03_09_184914_create_group_members_table.php │ ├── 2020_07_10_011304_create_pesertas_table.php │ ├── 2020_07_10_011745_create_soals_table.php │ ├── 2021_10_11_102624_create_penilaian_argument_table.php │ ├── 2020_07_11_112718_create_siswa_ujians_table.php │ ├── 2020_07_10_011939_create_jawaban_esays_table.php │ └── 2020_07_10_011609_create_jadwals_table.php └── factories │ └── UserFactory.php ├── .rnd ├── Procfile ├── .Procfile.swp ├── app ├── Utils │ ├── HttpUtil.php │ ├── EntityUtil.php │ ├── Error.php │ └── SoalUtil.php ├── Menus.php ├── RoleMenus.php ├── FeatureInfo.php ├── Ujian.php ├── Models │ ├── JadwalConstant.php │ ├── CacheConstant.php │ ├── SoalConstant.php │ ├── BanksoalAdaptif.php │ └── UjianConstant.php ├── GroupMember.php ├── Http │ ├── Controllers │ │ ├── Api │ │ │ ├── Gateway │ │ │ │ ├── GatewayController.php │ │ │ │ ├── AgamaGatewayController.php │ │ │ │ ├── JurusanGatewayController.php │ │ │ │ ├── UserGatewayController.php │ │ │ │ ├── MatpelGatewayController.php │ │ │ │ ├── GroupGatewayController.php │ │ │ │ ├── EventGatewayController.php │ │ │ │ └── BanksoalGatewayController.php │ │ │ ├── v1 │ │ │ │ ├── AgamaController.php │ │ │ │ └── AuthController.php │ │ │ └── v3 │ │ │ │ ├── AgamaController.php │ │ │ │ └── AppInfoController.php │ │ ├── Controller.php │ │ └── System │ │ │ └── SystemController.php │ └── Middleware │ │ ├── EncryptCookies.php │ │ ├── VerifyCsrfToken.php │ │ ├── CheckForMaintenanceMode.php │ │ ├── TrimStrings.php │ │ ├── TrustHosts.php │ │ ├── TrustProxies.php │ │ ├── Authenticate.php │ │ ├── RedirectIfAuthenticated.php │ │ └── BasicAuth.php ├── Services │ ├── Setting │ │ └── SettingServiceInterface.php │ ├── Banksoal │ │ └── BanksoalService.php │ ├── Ujian │ │ └── TipeSoalInterface.php │ ├── ServiceInterface.php │ ├── PaginationService.php │ └── Agama │ │ └── AgamaService.php ├── ExoBackup.php ├── File.php ├── Agama.php ├── Token.php ├── JawabanSoal.php ├── SesiSchedule.php ├── Repositories │ ├── Banksoal │ │ └── BanksoalRepository.php │ ├── Agama │ │ └── AgamaRepository.php │ ├── User │ │ └── UserRepository.php │ ├── Matpel │ │ └── MatpelRepository.php │ └── Jurusan │ │ └── JurusanRepository.php ├── Group.php ├── Jurusan.php ├── Setting.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ └── EventServiceProvider.php ├── Cache │ ├── CacheHandlerInterface.php │ └── CacheHandler.php ├── PenilaianEsay.php ├── EventUjian.php ├── Listeners │ ├── AddFinishedToOputput.php │ └── AddLogoToOutput.php ├── Traits │ └── Uuids.php ├── Console │ ├── Kernel.php │ └── Commands │ │ └── Exo │ │ ├── InstallAppCommand.php │ │ ├── MakeServiceCommand.php │ │ └── MakeRepositoryCommand.php ├── Peserta.php ├── User.php ├── Rules │ └── ArrayUuid.php ├── Directory.php ├── HasilUjian.php ├── Exceptions │ └── Handler.php ├── Imports │ └── UserImport.php └── SiswaUjian.php ├── resources ├── js │ ├── App.vue │ ├── entities │ │ ├── alert.js │ │ └── notif.js │ ├── components │ │ ├── ExpandLineIcon.vue │ │ ├── MinimizeLineIcon.vue │ │ ├── AppLineIcon.vue │ │ ├── NextLineIcon.vue │ │ └── PrevLineIcon.vue │ ├── stores │ │ └── siswa │ │ │ └── channel.js │ ├── api.js │ ├── bootstrap.js │ ├── app.js │ ├── store.js │ └── router.js ├── lang │ ├── id │ │ ├── pagination.php │ │ ├── auth.php │ │ └── password.php │ ├── en │ │ ├── pagination.php │ │ ├── auth.php │ │ └── passwords.php │ ├── zh-CN │ │ └── installer_messages.php │ ├── zh-TW │ │ └── installer_messages.php │ ├── ar │ │ └── installer_messages.php │ ├── fa │ │ └── installer_messages.php │ ├── et │ │ └── installer_messages.php │ ├── pl │ │ └── installer_messages.php │ ├── nl │ │ └── installer_messages.php │ ├── ro │ │ └── installer_messages.php │ ├── it │ │ └── installer_messages.php │ ├── pt-br │ │ └── installer_messages.php │ ├── pt │ │ └── installer_messages.php │ ├── gr │ │ └── installer_messages.php │ ├── de │ │ └── installer_messages.php │ └── es │ │ └── installer_messages.php ├── views │ ├── welcome.blade.php │ ├── vendor │ │ └── installer │ │ │ ├── update │ │ │ ├── finished.blade.php │ │ │ ├── welcome.blade.php │ │ │ └── overview.blade.php │ │ │ ├── welcome.blade.php │ │ │ ├── environment.blade.php │ │ │ ├── finished.blade.php │ │ │ └── permissions.blade.php │ ├── ujian.blade.php │ ├── system │ │ ├── change_ip.blade.php │ │ ├── layoute.blade.php │ │ └── index.blade.php │ └── excel │ │ └── capaian.blade.php ├── sass │ └── app.scss ├── stubs │ ├── RepositoryStub.php │ └── ServiceStub.php └── css │ └── app.css ├── .gitattributes ├── stubs ├── model.stub ├── model.pivot.stub ├── seeder.stub ├── controller.plain.stub ├── test.unit.stub ├── factory.stub ├── policy.plain.stub ├── test.stub ├── middleware.stub ├── migration.stub ├── controller.invokable.stub ├── request.stub ├── job.stub ├── migration.create.stub ├── migration.update.stub ├── rule.stub ├── job.queued.stub ├── console.stub └── controller.api.stub ├── README.md ├── .styleci.yml ├── nginx_app.conf ├── .editorconfig ├── .gitignore ├── tailwind.config.js ├── routes ├── channels.php ├── console.php ├── gateway.php ├── web.php └── api_v2.php ├── server.php ├── webpack.mix.js ├── config ├── cors.php ├── services.php ├── view.php └── exo.php ├── phpunit.xml └── .env.example /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /.rnd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shellrean-dev/exo-cbt-service/HEAD/.rnd -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: vendor/bin/heroku-php-nginx -C nginx_app.conf /public 2 | -------------------------------------------------------------------------------- /.Procfile.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shellrean-dev/exo-cbt-service/HEAD/.Procfile.swp -------------------------------------------------------------------------------- /public/img/exo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shellrean-dev/exo-cbt-service/HEAD/public/img/exo.jpg -------------------------------------------------------------------------------- /public/img/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shellrean-dev/exo-cbt-service/HEAD/public/img/logo.ico -------------------------------------------------------------------------------- /app/Utils/HttpUtil.php: -------------------------------------------------------------------------------- 1 | 2 |
6 | {{ trans('installer_messages.updater.welcome.message') }} 7 |
8 | 11 | @stop 12 | -------------------------------------------------------------------------------- /stubs/middleware.stub: -------------------------------------------------------------------------------- 1 | 10 | */ 11 | class {{ class }} 12 | { 13 | /** 14 | * Handle an incoming request. 15 | * 16 | * @param \Illuminate\Http\Request $request 17 | * @param \Closure $next 18 | * @return mixed 19 | */ 20 | public function handle($request, Closure $next) 21 | { 22 | return $next($request); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Cache/CacheHandlerInterface.php: -------------------------------------------------------------------------------- 1 | insert($data); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /database/seeds/JurusanUmum.php: -------------------------------------------------------------------------------- 1 | insert([ 17 | 'id' => Str::uuid()->toString(), 18 | 'kode' => 1945, 19 | 'nama' => 'UMUM (tanpa-jurusan)' 20 | ]); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /database/seeds/UserSeeder.php: -------------------------------------------------------------------------------- 1 | 'Administrator', 17 | 'email' => 'admin@shellrean.com', 18 | 'role' => 'admin', 19 | 'password' => bcrypt('criticalpassword') 20 | ]); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/installer/css/scss/font-awesome/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /public/installer/css/scss/font-awesome/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /resources/stubs/ServiceStub.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | final class DummyClass extends AbstractService 14 | { 15 | /** 16 | * Dependency injection 17 | */ 18 | public function __construct(CacheHandler $cache) 19 | { 20 | $this->cache = $cache; 21 | } 22 | } -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | class Error 9 | { 10 | /** 11 | * Get error logging 12 | * @param \Exception $e 13 | * @return array 14 | */ 15 | public static function get(\Exception $e) 16 | { 17 | return [ 18 | 'code' => $e->getCode(), 19 | 'line' => $e->getLine(), 20 | 'file' => $e->getFile(), 21 | 'message'=> $e->getMessage() 22 | ]; 23 | } 24 | } -------------------------------------------------------------------------------- /resources/views/vendor/installer/update/overview.blade.php: -------------------------------------------------------------------------------- 1 | @extends('vendor.installer.layouts.master-update') 2 | 3 | @section('title', trans('installer_messages.updater.welcome.title')) 4 | @section('container') 5 |{{ trans_choice('installer_messages.updater.overview.message', $numberOfUpdatesPending, ['number' => $numberOfUpdatesPending]) }}
6 | 9 | @stop 10 | -------------------------------------------------------------------------------- /stubs/controller.invokable.stub: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class {{ class }} extends Controller 13 | { 14 | /** 15 | * Handle the incoming request. 16 | * 17 | * @param \Illuminate\Http\Request $request 18 | * @return \Illuminate\Http\Response 19 | */ 20 | public function __invoke(Request $request) 21 | { 22 | // 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 18 | return route('login'); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Services/Banksoal/BanksoalService.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | final class BanksoalService extends AbstractService 14 | { 15 | /** 16 | * Dependency injection 17 | */ 18 | public function __construct(CacheHandler $cache) 19 | { 20 | $this->cache = $cache; 21 | } 22 | } -------------------------------------------------------------------------------- /app/Http/Controllers/Api/v1/AgamaController.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class AgamaController extends Controller 14 | { 15 | /** 16 | * @Route(path="api/v1/agamas", method={"GET"}) 17 | */ 18 | public function index() 19 | { 20 | $agamas = Agama::orderBy('id')->get(); 21 | return SendResponse::acceptData($agamas); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/PenilaianEsay.php: -------------------------------------------------------------------------------- 1 | hasOne('App\Soal','id','soal_id'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/EventUjian.php: -------------------------------------------------------------------------------- 1 | hasMany(Jadwal::class, 'event_id'); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/installer/css/scss/font-awesome/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /app/Listeners/AddFinishedToOputput.php: -------------------------------------------------------------------------------- 1 | output->writeln(''); 19 | $event->output->writeln($message); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call(UserSeeder::class); 15 | $this->call(AgamaSeeder::class); 16 | $this->call(TokenSeeder::class); 17 | $this->call(SettingSeeder::class); 18 | $this->call(InfoFeatureSeeder::class); 19 | $this->call(JurusanUmum::class); 20 | $this->call(CreateRoleMenus::class); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Models/CacheConstant.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 18 | }); 19 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /stubs/job.stub: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class {{ class }} 13 | { 14 | use Dispatchable, Queueable; 15 | 16 | /** 17 | * Create a new job instance. 18 | * 19 | * @return void 20 | */ 21 | public function __construct() 22 | { 23 | // 24 | } 25 | 26 | /** 27 | * Execute the job. 28 | * 29 | * @return void 30 | */ 31 | public function handle() 32 | { 33 | // 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js("resources/js/app.js", "public/js") 15 | .postCss("resources/css/app.css", "public/css", [ 16 | require("tailwindcss"), 17 | ]); 18 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/v3/AgamaController.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | class AgamaController extends Controller 15 | { 16 | /** 17 | * @Route(path="api/v3/agamas", method={"GET"}) 18 | */ 19 | public function index(AgamaService $agamaService) 20 | { 21 | $agamas = $agamaService->fetchAll(); 22 | return SendResponse::acceptData($agamas ? $agamas : []); 23 | } 24 | } -------------------------------------------------------------------------------- /app/Models/SoalConstant.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 16 | ]; 17 | 18 | /** 19 | * Register any authentication / authorization services. 20 | * 21 | * @return void 22 | */ 23 | public function boot() 24 | { 25 | $this->registerPolicies(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /resources/views/vendor/installer/welcome.blade.php: -------------------------------------------------------------------------------- 1 | @extends('vendor.installer.layouts.master') 2 | 3 | @section('template_title') 4 | Extraordinary | Instalasi 5 | @endsection 6 | 7 | @section('title') 8 | ExtraordinaryCBT Installer 9 | @endsection 10 | 11 | @section('container') 12 |13 | {{ trans('installer_messages.welcome.message') }} 14 |
15 |16 | 17 | {{ trans('installer_messages.welcome.next') }} 18 | 19 | 20 |
21 | @endsection 22 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 19 | })->describe('Display an inspiring quote'); 20 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 |15 | {!! trans('installer_messages.environment.menu.desc') !!} 16 |
17 | 25 | 26 | @endsection 27 | -------------------------------------------------------------------------------- /resources/views/ujian.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 || No | 4 | @foreach(range(1, $soals->count()) as $index) 5 |{{ $index }} | 6 | @endforeach 7 |Benar | 8 |
|
12 | {{ $fil['peserta']['nama'] }} 13 | {{ $fil['peserta']['no_ujian'] }} 14 | |
15 | @php
16 | $benar = 0;
17 | @endphp
18 | @foreach($soals as $soal)
19 | 20 | @php 21 | $filtered = collect($fil['data'])->firstWhere('soal_id', $soal->id); 22 | if($filtered != '') { 23 | $benar += $filtered->iscorrect; 24 | } 25 | @endphp 26 | {{ $filtered != '' ? $filtered->iscorrect : '-' }} 27 | | 28 | @endforeach 29 |30 | {{ $benar }} 31 | | 32 |
{{ trans('installer_messages.final.migration') }}
16 |{{ session('message')['dbOutputLog'] }}
17 | @endif
18 |
19 | {{ trans('installer_messages.final.console') }}
20 |{{ $finalMessages }}
21 |
22 | {{ trans('installer_messages.final.log') }}
23 |{{ $finalStatusMessage }}
24 |
25 | {{ trans('installer_messages.final.env') }}
26 |{{ $finalEnvFile }}
27 |
28 |
31 |
32 | @endsection
33 |
--------------------------------------------------------------------------------
/database/migrations/2021_03_09_184914_create_group_members_table.php:
--------------------------------------------------------------------------------
1 | uuid('id')->primary();
18 | $table->uuid('group_id');
19 | $table->uuid('student_id');
20 |
21 | $table->uuid('deleted_by')->nullable();
22 | $table->timestamp('deleted_at')->nullable();
23 | $table->timestamps();
24 |
25 | $table->foreign('group_id')->references('id')->on('groups')->onDelete('cascade');
26 | $table->foreign('student_id')->references('id')->on('pesertas')->onDelete('cascade');
27 |
28 | $table->index(['group_id', 'student_id']);
29 | });
30 | }
31 |
32 | /**
33 | * Reverse the migrations.
34 | *
35 | * @return void
36 | */
37 | public function down()
38 | {
39 | Schema::dropIfExists('group_members');
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/installer_messages.php:
--------------------------------------------------------------------------------
1 | 'Laravel安装程序',
11 | 'next' => '下一步',
12 | 'finish' => '安装',
13 |
14 | /*
15 | *
16 | * Home page translations.
17 | *
18 | */
19 | 'welcome' => [
20 | 'title' => '欢迎来到Laravel安装程序',
21 | 'message' => '欢迎来到安装向导.',
22 | ],
23 |
24 | /*
25 | *
26 | * Requirements page translations.
27 | *
28 | */
29 | 'requirements' => [
30 | 'title' => '环境要求',
31 | ],
32 |
33 | /*
34 | *
35 | * Permissions page translations.
36 | *
37 | */
38 | 'permissions' => [
39 | 'title' => '权限',
40 | ],
41 |
42 | /*
43 | *
44 | * Environment page translations.
45 | *
46 | */
47 | 'environment' => [
48 | 'title' => '环境设置',
49 | 'save' => '保存 .env',
50 | 'success' => '.env 文件保存成功.',
51 | 'errors' => '无法保存 .env 文件, 请手动创建它.',
52 | ],
53 |
54 | /*
55 | *
56 | * Final page translations.
57 | *
58 | */
59 | 'final' => [
60 | 'title' => '完成',
61 | 'finished' => '应用已成功安装.',
62 | 'exit' => '点击退出',
63 | ],
64 | ];
65 |
--------------------------------------------------------------------------------
/resources/lang/zh-TW/installer_messages.php:
--------------------------------------------------------------------------------
1 | 'Laravel安裝程序',
11 | 'next' => '下一步',
12 | 'finish' => '安裝',
13 |
14 | /*
15 | *
16 | * Home page translations.
17 | *
18 | */
19 | 'welcome' => [
20 | 'title' => '歡迎來到Laravel安裝程序',
21 | 'message' => '歡迎來到安裝嚮導.',
22 | ],
23 |
24 | /*
25 | *
26 | * Requirements page translations.
27 | *
28 | */
29 | 'requirements' => [
30 | 'title' => '環境要求',
31 | ],
32 |
33 | /*
34 | *
35 | * Permissions page translations.
36 | *
37 | */
38 | 'permissions' => [
39 | 'title' => '權限',
40 | ],
41 |
42 | /*
43 | *
44 | * Environment page translations.
45 | *
46 | */
47 | 'environment' => [
48 | 'title' => '環境設置',
49 | 'save' => '保存 .env',
50 | 'success' => '.env 文件保存成功.',
51 | 'errors' => '無法保存 .env 文件, 請手動創建它.',
52 | ],
53 |
54 | /*
55 | *
56 | * Final page translations.
57 | *
58 | */
59 | 'final' => [
60 | 'title' => '完成',
61 | 'finished' => '應用已成功安裝.',
62 | 'exit' => '點擊退出',
63 | ],
64 | ];
65 |
--------------------------------------------------------------------------------
/public/installer/css/sass/_variables.sass:
--------------------------------------------------------------------------------
1 | //colors
2 | $color_0: #ff0
3 | $color_1: #000
4 | $color_2: silver
5 | $color_3: #666
6 | $color_4: #111
7 | $color_5: #1d73a2
8 | $color_6: #175c82
9 | $color_7: rgba(0, 0, 0, .19)
10 | $color_8: rgba(0, 0, 0, .23)
11 | $color_9: #357295
12 | $color_10: #fff
13 | $color_11: #cacfd2
14 | $color_12: #34a0db
15 | $color_13: rgba(0, 0, 0, .12)
16 | $color_14: rgba(0, 0, 0, .24)
17 | $color_15: #2490cb
18 | $color_16: #eee
19 | $color_17: #222
20 | $color_18: rgba(0, 0, 0, .16)
21 | $color_19: #2ecc71
22 | $color_20: #e74c3c
23 | $color_21: #f5f5f5
24 | $color_22: rgba(0, 0, 0, .2)
25 |
26 | //fonts
27 | $font_0: Ionicons
28 | $font_1: sans-serif
29 | $font_2: monospace
30 | $font_3: Roboto
31 | $font_4: Helvetica Neue
32 | $font_5: Helvetica
33 | $font_6: Arial
34 | $font_7: Courier New
35 | $font_8: Courier
36 | $font_9: Lucida Sans Typewriter
37 | $font_10: Lucida Typewriter
38 |
39 | //urls
40 | $url_0: url(https://fonts.googleapis.com/css?family=Roboto:400,300,500,700,900)
41 | $url_1: url(../fonts/ionicons.eot?v=2.0.1)
42 | $url_2: url(../fonts/ionicons.eot?v=2.0.1#iefix)
43 | $url_3: url(../fonts/ionicons.ttf?v=2.0.1)
44 | $url_4: url(../fonts/ionicons.woff?v=2.0.1)
45 | $url_5: url(../fonts/ionicons.svg?v=2.0.1#Ionicons)
46 | $url_6: url(../img/background.png)
--------------------------------------------------------------------------------
/public/web.config:
--------------------------------------------------------------------------------
1 |
6 | Versi terbaru telah rilis v3.0.1.
6 | Update 7 |IP / Domain berhasil diubah
13 |