Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
AbdelElrafa committed Oct 27, 2023
0 parents commit 859f810
Show file tree
Hide file tree
Showing 131 changed files with 19,591 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .bladeformatterrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"indentSize": 4,
"wrapAttributes": "force-expand-multiline",
"wrapLineLength": 120,
"endWithNewLine": true,
"endOfLine": "LF",
"useTabs": false,
"sortTailwindcssClasses": true,
"sortHtmlAttributes": "code-guide",
"noMultipleEmptyLines": false,
"noPhpSyntaxCheck": false
}
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2

[docker-compose.yml]
indent_size = 4
65 changes: 65 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
ASSET_URL="${APP_URL}"

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

ROLLBAR_TOKEN=""

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

# Docs to set up in production: https://github.com/JosephSilber/page-cache
CACHE_RESPONSE=false
11 changes: 11 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
* text=auto eol=lf

*.blade.php diff=html
*.css diff=css
*.html diff=html
*.md diff=markdown
*.php diff=php

/.github export-ignore
CHANGELOG.md export-ignore
.styleci.yml export-ignore
173 changes: 173 additions & 0 deletions .github/workflows/laravel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
name: CI

on: push

jobs:
pint:
name: "run pint"
runs-on: ubuntu-latest
steps:
- name: "checkout repository"
uses: actions/checkout@v3

- name: "setup PHP 8.2"
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer
coverage: none

- name: "get composer cache directory"
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: "cache dependencies"
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: "install dependencies"
run: composer install --prefer-dist

- name: "run pint"
run: php ./vendor/bin/pint --test
blade_formatter:
name: "run blade formatter"
runs-on: ubuntu-latest
steps:
- name: "checkout repository"
uses: actions/checkout@v3

- name: "setup node v20.5.1"
uses: actions/setup-node@v3
with:
node-version: 20.5.1
cache: 'npm'

- name: "install node dependencies"
run: npm ci

- name: "run blade formatter"
run: "./node_modules/.bin/blade-formatter \"./resources/**/*.blade.php\" -c -d"
phpstan:
name: "run phpstan"
runs-on: ubuntu-latest
steps:
- name: "checkout repository"
uses: actions/checkout@v3

- name: "setup PHP 8.2"
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer
coverage: none

- name: "get composer cache directory"
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: "cache dependencies"
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: "install dependencies"
run: composer install --prefer-dist

- name: "run PHPStan"
run: php ./vendor/bin/phpstan analyse
tests:
name: "run tests"
runs-on: ubuntu-latest
steps:
- name: "checkout repository"
uses: actions/checkout@v3

- name: "setup PHP 8.2"
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer
coverage: none

- name: "get composer cache directory"
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: "cache dependencies"
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: "install dependencies"
run: composer install --prefer-dist

- name: "copy .env.example to .env"
run: cp .env.example .env

- name: "set the application key"
run: php artisan key:generate

- name: "setup node v20.5.1"
uses: actions/setup-node@v3
with:
node-version: 20.5.1
cache: 'npm'

- name: "install node dependencies"
run: npm ci

- name: "build assets"
run: npm run build

- name: "run tests"
run: php artisan test
caches:
name: "ensure caches can be created"
runs-on: ubuntu-latest
steps:
- name: "checkout repository"
uses: actions/checkout@v3

- name: "setup PHP 8.2"
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer
coverage: none

- name: "get composer cache directory"
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: "cache dependencies"
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: "install dependencies"
run: composer install --prefer-dist

- name: "run artisan config:cache"
run: php artisan config:cache

- name: "run artisan event:cache"
run: php artisan event:cache

- name: "run artisan route:cache"
run: php artisan route:cache

- name: "run artisan view:cache"
run: php artisan view:cache

- name: "run artisan optimize"
run: php artisan optimize
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/.phpunit.cache
/node_modules
/public/build
/public/hot
/public/storage
/public/page-cache
/storage/*.key
/vendor
.env
.env.backup
.env.production
.phpunit.result.cache
Homestead.json
Homestead.yaml
auth.json
npm-debug.log
yarn-error.log
/.fleet
/.idea
/.vscode
/.history
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v20.5.1
25 changes: 25 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"recommendations": [
"calebporzio.better-phpunit",
"streetsidesoftware.code-spell-checker",
"mikestead.dotenv",
"sleistner.vscode-fileutils",
"eamodio.gitlens",
"wix.vscode-import-cost",
"ryannaddy.laravel-artisan",
"shufo.vscode-blade-formatter",
"onecentlin.laravel-blade",
"austenc.laravel-blade-spacer",
"amiralizadeh9480.laravel-extra-intellisense",
"codingyu.laravel-goto-view",
"open-southeners.laravel-pint",
"xyz.local-history",
"neilbrayfield.php-docblocker",
"bmewburn.vscode-intelephense-client",
"mehedidracula.php-namespace-resolver",
"swordev.phpstan",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss",
"redhat.vscode-yaml"
]
}
28 changes: 28 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"editor.formatOnSave": true,
"editor.renderWhitespace": "boundary",
"files.trimTrailingWhitespace": true,
"git.autofetch": true,
"local-history.daysLimit": 0,
"php-docblocker.qualifyClassNames": true,
"php-docblocker.useShortNames": true,
"php.suggest.basic": false,
"laravel-pint.enable": true,
"cSpell.enableFiletypes": ["blade"],
"cSpell.words": ["livewire"],
"tailwindCSS.includeLanguages": {
"blade": "html"
},
"[blade]": {
"editor.defaultFormatter": "shufo.vscode-blade-formatter"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[php]": {
"editor.defaultFormatter": "open-southeners.laravel-pint"
}
}
Loading

0 comments on commit 859f810

Please sign in to comment.