Skip to content

Commit 198ca8e

Browse files
authored
Merge pull request #73 from muchaisam/dev
v1.1.0: Complete UI redesign, REST API, reviews & wishlist, test suite, CI/CD, and Docker support
2 parents 92ea2b1 + f0f4baa commit 198ca8e

File tree

175 files changed

+11957
-5681
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+11957
-5681
lines changed

.dockerignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/.git
2+
/.github
3+
/.idea
4+
/.vscode
5+
/node_modules
6+
/vendor
7+
/public/storage
8+
/storage/*.key
9+
/.env
10+
/.env.backup
11+
/.env.production
12+
/.phpunit.result.cache
13+
/npm-debug.log
14+
/yarn-error.log
15+
Homestead.json
16+
Homestead.yaml
17+
auth.json
18+
*.md
19+
!README.md
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Describe the Bug
10+
A clear and concise description of what the bug is.
11+
12+
## To Reproduce
13+
Steps to reproduce the behavior:
14+
1. Go to '...'
15+
2. Click on '...'
16+
3. Scroll down to '...'
17+
4. See error
18+
19+
## Expected Behavior
20+
A clear and concise description of what you expected to happen.
21+
22+
## Screenshots
23+
If applicable, add screenshots to help explain your problem.
24+
25+
## Environment
26+
- Browser: [e.g., Chrome 120, Safari 17]
27+
- Device: [e.g., Desktop, iPhone 15]
28+
- PHP Version: [e.g., 8.2]
29+
- Laravel Version: [e.g., 11.0]
30+
31+
## Additional Context
32+
Add any other context about the problem here.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Is your feature request related to a problem?
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
## Describe the Solution You'd Like
13+
A clear and concise description of what you want to happen.
14+
15+
## Describe Alternatives You've Considered
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
## Additional Context
19+
Add any other context or screenshots about the feature request here.
20+
21+
## Would You Be Willing to Contribute?
22+
- [ ] Yes, I would like to submit a pull request for this feature
23+
- [ ] No, I would prefer to leave this to the maintainers

.github/workflows/deploy.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Deploy to Railway
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
if: github.ref == 'refs/heads/main'
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: '20'
21+
22+
- name: Install Railway CLI
23+
run: npm install -g @railway/cli
24+
25+
- name: Deploy to Railway
26+
run: railway up --detach
27+
env:
28+
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}

.github/workflows/tests.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main, dev]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
tests:
11+
runs-on: ubuntu-latest
12+
13+
services:
14+
mysql:
15+
image: mysql:8.0
16+
env:
17+
MYSQL_DATABASE: testing
18+
MYSQL_USER: user
19+
MYSQL_PASSWORD: password
20+
MYSQL_ROOT_PASSWORD: password
21+
ports:
22+
- 3306:3306
23+
options: >-
24+
--health-cmd="mysqladmin ping"
25+
--health-interval=10s
26+
--health-timeout=5s
27+
--health-retries=3
28+
29+
steps:
30+
- name: Checkout code
31+
uses: actions/checkout@v4
32+
33+
- name: Setup PHP
34+
uses: shivammathur/setup-php@v2
35+
with:
36+
php-version: '8.2'
37+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_mysql, bcmath, soap, intl, gd, exif, iconv
38+
coverage: xdebug
39+
40+
- name: Setup Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '20'
44+
cache: 'npm'
45+
46+
- name: Get Composer Cache Directory
47+
id: composer-cache
48+
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
49+
50+
- name: Cache Composer dependencies
51+
uses: actions/cache@v4
52+
with:
53+
path: ${{ steps.composer-cache.outputs.dir }}
54+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
55+
restore-keys: ${{ runner.os }}-composer-
56+
57+
- name: Install Composer dependencies
58+
run: composer install --no-interaction --prefer-dist --optimize-autoloader
59+
60+
- name: Install NPM dependencies
61+
run: npm ci
62+
63+
- name: Build assets
64+
run: npm run build
65+
66+
- name: Copy .env.example
67+
run: cp .env.example .env
68+
69+
- name: Generate application key
70+
run: php artisan key:generate
71+
72+
- name: Run PHPUnit tests
73+
run: ./vendor/bin/phpunit --coverage-text
74+
env:
75+
DB_CONNECTION: sqlite
76+
DB_DATABASE: ':memory:'
77+
78+
code-style:
79+
runs-on: ubuntu-latest
80+
81+
steps:
82+
- name: Checkout code
83+
uses: actions/checkout@v4
84+
85+
- name: Setup PHP
86+
uses: shivammathur/setup-php@v2
87+
with:
88+
php-version: '8.2'
89+
90+
- name: Install Composer dependencies
91+
run: composer install --no-interaction --prefer-dist --optimize-autoloader
92+
93+
- name: Run Laravel Pint
94+
run: ./vendor/bin/pint --test
95+
96+
security:
97+
runs-on: ubuntu-latest
98+
99+
steps:
100+
- name: Checkout code
101+
uses: actions/checkout@v4
102+
103+
- name: Setup PHP
104+
uses: shivammathur/setup-php@v2
105+
with:
106+
php-version: '8.2'
107+
108+
- name: Install Composer dependencies
109+
run: composer install --no-interaction --prefer-dist --optimize-autoloader
110+
111+
- name: Check for security vulnerabilities
112+
run: composer audit

0 commit comments

Comments
 (0)