Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d5c9821
Feature: Add API Endpoints & Documentation
Crypto2099 Nov 18, 2025
8dfcad3
Merge pull request #21 from CardanoGateKeeper/feature/add-api-and-doc…
Crypto2099 Nov 18, 2025
1887189
Update Dependencies
Crypto2099 Nov 18, 2025
879f52d
Merge pull request #22 from CardanoGateKeeper/fix-staging-deployment
Crypto2099 Nov 18, 2025
be8a339
Removing Tailwind
Crypto2099 Nov 18, 2025
29bead8
Updates to Improve CI/CD Pipeline
Crypto2099 Nov 19, 2025
2a5fa1d
Remove --no-interaction flag from artisan test command
Crypto2099 Nov 19, 2025
0b9cdfc
Add a testing environment file so that the CI/CD pipeline will play n…
Crypto2099 Nov 19, 2025
240e55f
Few tweaks to identify why tests are succeeding on local but failing …
Crypto2099 Nov 19, 2025
e18790b
Move NPM build up so that we get Vite working and kill two birds with…
Crypto2099 Nov 19, 2025
9d10673
Remove troubleshooting lines from TeamControllerTest now that it look…
Crypto2099 Nov 19, 2025
3ba60c9
Couple of minor fixes that should finally get our CI pipeline unstuck…
Crypto2099 Nov 19, 2025
4e09c77
Merge pull request #23 from CardanoGateKeeper/fix-staging-deployment
Crypto2099 Nov 19, 2025
03a19a2
Allow demo seeding on staging environment
Crypto2099 Nov 19, 2025
45b0be5
Merge pull request #24 from CardanoGateKeeper/fix-staging-deployment
Crypto2099 Nov 19, 2025
1734bba
Small Quality of Life Improvements
Crypto2099 Nov 19, 2025
320dc37
Small Quality of Life Improvements
Crypto2099 Nov 19, 2025
417142a
Merge pull request #25 from CardanoGateKeeper/feature/minor-qol-impro…
Crypto2099 Nov 19, 2025
aa8c791
Issue w/ NFTCDN not providing a CORS header for images and that causi…
Crypto2099 Nov 19, 2025
c5ec7dd
Merge pull request #26 from CardanoGateKeeper/feature/minor-qol-impro…
Crypto2099 Nov 19, 2025
e4a8e0d
Fix issues w/ Vite arguments not being passed at runtime and so hidin…
Crypto2099 Nov 19, 2025
8245cba
Merge pull request #27 from CardanoGateKeeper/feature/fix-staging-banner
Crypto2099 Nov 19, 2025
5400378
Add a workflow that can be manually triggered to generate API documen…
Crypto2099 Nov 19, 2025
3122a7c
Add automatic wallet reconnection to discover page as well to minimiz…
Crypto2099 Nov 19, 2025
b616482
Merge pull request #28 from CardanoGateKeeper/feature/add-publish-api…
Crypto2099 Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

NFTCDN_DOMAIN=mynftcdndomain
NFTCDN_KEY=yournftcdndomainhere=
ALLOW_REGISTRATION=true
ALLOW_PASSWORD_CHANGE=true
VITE_APP_ENV=local

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
Expand All @@ -13,7 +19,7 @@ DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=gatekeepermetamorphosis
DB_USERNAME=root
DB_PASSWORD=
DB_PASSWORD=rootpassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
Expand Down
67 changes: 67 additions & 0 deletions .env.testing
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
APP_NAME=GateKeeper
APP_ENV=testing
APP_KEY=base64:ScbTyDAmfxPaqXuNfzEA5zJ9iPxyC97lwXw5Wi8OyNw=
APP_DEBUG=true
APP_URL=http://localhost
APP_SERVICE=gatekeeper.app

NFTCDN_DOMAIN=yournftcdndomain
NFTCDN_KEY=yournftcdnkeyhere=
ALLOW_REGISTRATION=false
ALLOW_PASSWORD_CHANGE=false
VITE_APP_ENV=testing

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=sqlite
DB_DATABASE=:memory:
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=rootpassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=database
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}"
VITE_DEV_SERVER_URL=http://localhost:5173
44 changes: 44 additions & 0 deletions .github/workflows/ci-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: CI (Staging PR)
on:
pull_request:
branches:
- staging
jobs:
php-tests:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

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

- name: Install PHP dependencies (with dev)
run: composer install --no-interaction --prefer-dist --optimize-autoloader

- name: Prepare .env for tests
run: |
cp .env.example .env
php artisan key:generate
env:
APP_ENV: testing

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install frontend deps & build
run: |
npm ci
npm run build

# If you have tests, this is where they run
- name: Run Laravel test suite
run: php artisan test
23 changes: 23 additions & 0 deletions .github/workflows/publish-api.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Generate API Docs

on:
workflow_dispatch:

jobs:
build-docs:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'

- name: Install dependencies
run: composer install --no-interaction --no-progress --prefer-dist

- name: Generate Scribe docs
run: php artisan scribe:generate
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ yarn-error.log
.vapor/
.env.production
.env.staging
/.scribe/
32 changes: 32 additions & 0 deletions app/Console/Commands/RefreshPreprodDemo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;

class RefreshPreprodDemo extends Command
{
protected $signature = 'preprod:refresh-demo';
protected $description = 'Drop and reseed the database for the preprod demo environment.';

public function handle(): int
{
if (! app()->environment('preprod')) {
$this->error('This command is only allowed in the preprod environment.');
return self::FAILURE;
}

$this->info('Refreshing preprod database (migrate:fresh --seed)...');

Artisan::call('migrate:fresh', [
'--seed' => true,
'--force' => true,
]);

$this->line(Artisan::output());

$this->info('Preprod database refresh complete.');
return self::SUCCESS;
}
}
4 changes: 3 additions & 1 deletion app/Console/Kernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ class Kernel extends ConsoleKernel
*/
protected function schedule(Schedule $schedule): void
{
// $schedule->command('inspire')->hourly();
$schedule->command('preprod:refresh-demo')
->dailyAt('00:00')
->environments(['preprod']);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion app/Http/Controllers/CheckinController.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public function store(StoreCheckinRequest $request, string $event_uuid): JsonRes
// throughout an event
return response()->json([
'message' => 'Ticket has already been checked in!'
], 401);
], 400);
}

// Since we've arrive here it is probably safe to insert the "checkin"
Expand Down
2 changes: 1 addition & 1 deletion app/Http/Controllers/CheckoutController.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function store(StoreCheckoutRequest $request, string $event_uuid): JsonRe
// then we can't very well add a new checkout can we?
return response()->json([
'message' => 'Ticket has not been checked in!'
], 401);
], 400);
}

// Since we've arrive here it is probably safe to insert the "checkin"
Expand Down
40 changes: 0 additions & 40 deletions app/Http/Controllers/EventCheckinController.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,6 @@ public function index(Request $request)
compact('team', 'events'));
}

/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}

/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}

/**
* Display the specified resource.
*/
Expand All @@ -54,28 +38,4 @@ public function show(Request $request, string $event_uuid)
->render($request, 'ScanTickets/Show',
compact('event'));
}

/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
//
}

/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
//
}

/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}
Loading