Get Started With DCSLab - GitzJoey/DCSLab GitHub Wiki

Requirement (Windows)

  • Download & Install Git, Tortoise Git
  • Download & Extract PHP to C:/php (default)
  • Copy php.ini-development and rename to php.ini
  • Edit php.ini enable these extension
    extension=bz2
    extension=curl
    extension=ffi
    extension=ftp
    extension=fileinfo
    extension=gd
    extension=gettext
    extension=gmp
    extension=intl
    extension=imap
    extension=ldap
    extension=mbstring
    extension=exif      ; Must be after mbstring as it depends on it
    extension=mysqli
    ;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
    ;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
    extension=odbc
    extension=openssl
    ;extension=pdo_firebird
    extension=pdo_mysql
    ;extension=pdo_oci
    extension=pdo_odbc
    extension=pdo_pgsql
    extension=pdo_sqlite
    extension=pgsql
    extension=shmop
    
  • Download & Install Composer, NPM / NodeJS
  • Download & Install VS Code

Installation

  • Pull DCSLab to your local machine
  • run command (api directory):
    composer install
    
  • run command (web directory):
    npm install     
    
  • copy .env.example .env (api + web directory)
  • Fill connection string, redis, pusher in .env (api)
  • Fill pusher in .env (web)
  • run command (api directory) :
    php artisan migrate:fresh --seed
    php artisan app:user create
    php artisan app:seed
    php artisan key:generate
    
  • Fill your default login credentical
  • Play serve (api directory)
  • Play dev (web directory)
  • Open http://localhost:5173 on your browser and login with your credentical u have created (we recommend use Firefox for better experience)

How do we get started

Creating Database Business :
01.01. Create file migration
01.02. Create model

Creating Seeder :
02.01. Create factory
02.02. Create table seeder
02.04. Test the seeder make sure it works

Creating Actions :
03.01. Create actions
03.03. Create actions test
03.04. Test CRUD make sure it works

Creating Controller :
04.01. Make Rule ex. IsValid Rule
04.02. Update validation_attributes
04.03. Make Resource
04.04. Make Request
04.05. Update Rules.php
04.06. Update laratrust_seeder *
04.07. Make Policy
04.08. Make Controller
04.09. Insert to API.php
04.10. Update DashboardActions.php
04.11. Create API Test
04.12. Test that make sure it works

Creating Front End :
05.01. Create en\views\filename.json
05.02. Create id\views\filename.json
05.03. Update en\components\menu.json
05.04. Update id\components\menu.json
05.05. Create Model
05.06. Create Service
05.07. Create File ___Create.vue
05.08. Create File ___Edit.vue
05.09. Create File ___Index.vue
05.10. Create File ___List.vue
05.11. web\src\lang\messages.en.ts
05.12. web\src\lang\messages.id.ts
05.13. Update Routes.ts