Skip to content
Merged

Uts #23

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
d321b46
Merge pull request #4 from soulqan/main
NathanaelGracedo Apr 13, 2026
5855288
Merge pull request #6 from soulqan/main
vanssea Apr 13, 2026
6aef927
change design and component
soulqan Apr 13, 2026
1b82ee5
Merge pull request #7 from soulqan/Soultan
soulqan Apr 13, 2026
62e0a43
Merge branch 'UTS' of https://github.com/soulqan/trashware into juan
NathanaelGracedo Apr 13, 2026
71d5dec
feat: add notification feature
NathanaelGracedo Apr 13, 2026
59d2983
Penambahan real time bin status
soulqan Apr 14, 2026
96f5d0b
Fix dashboard
soulqan Apr 14, 2026
39e03fe
Fix: Remove table Section
soulqan Apr 14, 2026
f25d48b
Merge branch 'UTS' of https://github.com/soulqan/trashware into Vanessa
vanssea Apr 14, 2026
715f046
Merge branch 'Soultan' into UTS
soulqan Apr 14, 2026
26082d0
Merge pull request #8 from soulqan/UTS
soulqan Apr 14, 2026
b9d767f
Implement search functionality and improve dashboard filtering
soulqan Apr 14, 2026
2df82a1
Merge branch 'Soultan' of https://github.com/soulqan/trashware into S…
soulqan Apr 14, 2026
eb0b223
FIx the conflict
soulqan Apr 14, 2026
add4dce
Merge pull request #9 from soulqan/Soultan
soulqan Apr 14, 2026
dad7d21
Update kategori capacity
soulqan Apr 14, 2026
1fe6264
Merge pull request #10 from soulqan/Soultan
soulqan Apr 14, 2026
35f8949
Merge branch 'UTS' of https://github.com/soulqan/trashware into Vanessa
vanssea Apr 14, 2026
63895af
make a monitoring page
soulqan Apr 14, 2026
0bc787b
Merge pull request #11 from soulqan/Soultan
soulqan Apr 14, 2026
3fe1a4b
Merge branch 'UTS' of https://github.com/soulqan/trashware into Vanessa
vanssea Apr 14, 2026
bf26c48
membuat login, register, logout, terintrgarsi database firebase
agungfradiansyah12 Apr 14, 2026
678ccbd
UTS branch testing
Fereiliya Apr 14, 2026
fce2680
Merge pull request #12 from soulqan/Brian
soulqan Apr 14, 2026
e390e5e
fix, capacity and connect to firebase
Fereiliya Apr 14, 2026
c9ed9b8
add edit status and show it in manage bin
Fereiliya Apr 14, 2026
9a0e124
Merge pull request #13 from soulqan/Brian
Fereiliya Apr 14, 2026
5c2d20c
Merge branch 'UTS' of https://github.com/soulqan/trashware into Vanessa
vanssea Apr 14, 2026
635a8b2
History dan Analitik Data
vanssea Apr 14, 2026
8a5887e
remove 'Map View' menu item from sidebar
vanssea Apr 14, 2026
fbd074b
Merge branch 'UTS' of https://github.com/soulqan/trashware into agung…
agungfradiansyah12 Apr 14, 2026
2c2083c
provider login register
agungfradiansyah12 Apr 14, 2026
aeb4958
FIx the navbar search
soulqan Apr 14, 2026
3193543
remove file notificationService.ts
soulqan Apr 14, 2026
56d7d01
fix service firebase
soulqan Apr 14, 2026
7c0f94a
chance firebase
soulqan Apr 14, 2026
75535a1
login dan register
agungfradiansyah12 Apr 22, 2026
43ffa08
make a page container and page header component and implementaion to …
soulqan Apr 22, 2026
1554507
Merge pull request #14 from soulqan/Soultan
soulqan Apr 22, 2026
af1e3b5
Perbaikan dahboard dan monitoring dengan integrasi database variable …
soulqan Apr 22, 2026
c038bc2
Merge pull request #15 from soulqan/Soultan
soulqan Apr 22, 2026
9cd2dff
fixs login google, middleware, sync username
agungfradiansyah12 Apr 28, 2026
1155165
Add: Menambahkan fitur untuk pengambilan sampah oleh petugas
soulqan Apr 28, 2026
f37ad91
Merge pull request #16 from soulqan/Soultan
soulqan Apr 28, 2026
2d59c2a
fix: make notification more spesific location bin, disable mark as un…
NathanaelGracedo May 1, 2026
e8ca350
refactor: update bin management to use gedung, lantai, and ruang fiel…
NathanaelGracedo May 1, 2026
3051fd5
menambahkan logo, dan role username
agungfradiansyah12 May 1, 2026
4b83e82
Menambahkan pemeringkatan pada dashboard
vanssea May 1, 2026
c30139a
Merge pull request #17 from soulqan/UTS
soulqan May 18, 2026
815e453
fix: update background color of dashboard page for improved visibility
soulqan May 18, 2026
e8b6ce9
profile
vanssea May 20, 2026
bdc3758
Merge branch 'UTS' of https://github.com/soulqan/trashware into Soultan
soulqan May 21, 2026
4f81ccb
refactor: streamline ManageBin component and improve form handling
soulqan Jun 2, 2026
c40e1b8
Merge pull request #18 from soulqan/Soultan
soulqan Jun 2, 2026
9912f13
feat: integrate session update in ProfileModal and enhance JWT callba…
vanssea Jun 2, 2026
d708f41
feat: add formatDurationInHours function and update DashboardView to …
vanssea Jun 2, 2026
8144ca7
feat: make website mobile-friendly
NathanaelGracedo Jun 3, 2026
99447a1
Merge pull request #19 from soulqan/UTS
soulqan Jun 3, 2026
94b0e33
feat: fix login google auth, enhance UI for login, and registration p…
agungfradiansyah12 Jun 4, 2026
5b003e0
perbaikkan login google
agungfradiansyah12 Jun 4, 2026
63b69cd
Merge branch 'UTS' of https://github.com/soulqan/trashware into Soultan
soulqan Jun 4, 2026
b151682
feat: redesign navbar layout to flexbox for improved responsiveness a…
soulqan Jun 4, 2026
53ce3e3
Merge pull request #20 from soulqan/Soultan
soulqan Jun 4, 2026
79663f4
Fix: status, dan refactor dan build error
soulqan Jun 8, 2026
1669e33
Merge pull request #21 from soulqan/Soultan
soulqan Jun 8, 2026
923e9d9
CI
soulqan Jun 8, 2026
30077c1
Merge pull request #22 from soulqan/Soultan
soulqan Jun 8, 2026
4f113b9
fix: knip and lint
NathanaelGracedo Jun 8, 2026
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
115 changes: 115 additions & 0 deletions .github/GITHUB_ACTIONS_SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# GitHub Actions CI/CD Pipeline Documentation

## Overview
Pipeline CI/CD ini menggunakan GitHub Actions untuk melakukan automated testing dan code quality checks. Pipeline ini berjalan pada setiap push dan pull request ke branch `main`.

## Workflows

### 1. **test.yml** - CI Testing Pipeline
**Trigger:** Push dan Pull Request ke `main` atau `develop`

**Jobs:**
- ✅ Checkout kode repository
- ✅ Setup Node.js (testing dengan versi 18.x dan 20.x)
- ✅ Install dependencies menggunakan npm ci
- ✅ Run ESLint untuk code style checking
- ✅ Check TypeScript types menggunakan tsc
- ✅ Build verification (non-blocking)

**Duration:** ~3-5 menit per node version

### 2. **pr-checks.yml** - Pull Request Specific Checks
**Trigger:** Pull Request events (opened, synchronize, reopened)

**Jobs:**
- ✅ Checkout kode dengan full history
- ✅ Setup Node.js (latest 20.x)
- ✅ Install dependencies
- ✅ Strict lint checking (no warnings allowed)
- ✅ TypeScript type checking
- ✅ Full build verification
- ✅ Auto comment pada PR dengan status hasil

**Duration:** ~4-6 menit

## Fitur

### ✅ Apa yang di-check:
1. **Linting** - Menggunakan ESLint untuk memastikan code style consistency
2. **Type Safety** - TypeScript compiler untuk memastikan type correctness
3. **Build Verification** - Memastikan project dapat di-build tanpa error

### ❌ Apa yang TIDAK termasuk:
- Docker build
- Image pushing ke registry
- Production deployment
- Production build optimization

## Setup Required

### 1. Branch Protection Rules (Optional tapi Recommended)
Go to Settings → Branches → Add rule untuk `main`:
```
- Require status checks to pass before merging
- Require code reviews before merging
- Require branches to be up to date before merging
```

### 2. Environment Variables (Jika diperlukan)
Tambahkan di Settings → Secrets and variables → Actions:
```
Tidak ada secret yang diperlukan saat ini untuk pipeline ini
```

## Logs dan Monitoring

### Mengakses Workflow Logs:
1. Buka GitHub repository
2. Klik tab "Actions"
3. Pilih workflow yang ingin dilihat
4. Klik run specific untuk melihat detail logs

### Status Badges:
Tambahkan ke README.md untuk menampilkan status pipeline:
```markdown
![CI Testing](https://github.com/{owner}/{repo}/actions/workflows/test.yml/badge.svg)
![PR Checks](https://github.com/{owner}/{repo}/actions/workflows/pr-checks.yml/badge.svg)
```

## Troubleshooting

### 1. Build fails dengan error tertentu
- Check logs di Actions tab
- Verifikasi dependensi di package.json
- Pastikan Node.js version compatible

### 2. ESLint errors
- Run locally: `npm run lint`
- Fix issues: `npx eslint --fix`

### 3. TypeScript errors
- Run locally: `npx tsc --noEmit`
- Check tsconfig.json settings

## Maintenance

### Update Actions Versions:
Workflows menggunakan latest versions dari:
- `actions/checkout@v4`
- `actions/setup-node@v4`
- `actions/github-script@v7`

Untuk update dependencies, edit workflow files dan ubah version numbers.

### Adding Tests:
Untuk menambahkan unit tests di masa depan:
1. Install test framework (Jest, Vitest, etc.)
2. Add test script ke package.json: `"test": "jest"`
3. Update workflows untuk menjalankan `npm test`

## Next Steps

1. ✅ Push workflow files ke repository
2. ✅ Go to Actions tab untuk verify workflows
3. ✅ Setup branch protection rules (optional)
4. ✅ Add status badges ke README.md
37 changes: 37 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Trashware PR Gatekeeper

on:
pull_request:
branches: [ main ]
types: [ opened, synchronize, reopened ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
validate-pr:
name: Code Quality Check
runs-on: ubuntu-latest

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

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

- name: Install Dependencies
run: npm ci

- name: Run ESLint
run: npm run lint -- --max-warnings=0

- name: Check TypeScript Compilation
run: npx tsc --noEmit

- name: Verify Next.js Production Build
run: npm run build
Loading
Loading