We need to build a frontend dashboard for organizers/admins where they can:
Create webhooks
Select events
Manage secrets
Enable/disable webhooks
Test webhooks
View delivery logs
Retry failed deliveries
👉 This UI connects to backend webhook system (setup + delivery)
🎯 Goals
Frontend must be:
- Clean & intuitive (SaaS-level UX)
- Secure (no secret leaks)
- Scalable (handle many webhooks/logs)
- Responsive (desktop + tablet)
- Production-ready
🧱 PAGES & FEATURES
1️⃣ WEBHOOK LIST PAGE
Route
Features
-
List all webhooks
-
Show:
- name
- URL (masked)
- events count
- status (active/inactive)
- last delivery status
UI Actions
- toggle enable/disable
- edit webhook
- delete webhook
- open details page
Table Example
Name | URL | Events | Status | Last Delivery | Actions
2️⃣ CREATE WEBHOOK PAGE
Route
/dashboard/webhooks/create
Form Fields
Webhook Name
Webhook URL
Select Events (multi-select)
Secret (optional)
Permissions (optional)
Event Selector
Options:
member.created
member.activated
event.created
hackathon.created
github.push
github.pr.opened
Validation
- URL must be valid HTTPS
- show inline errors
- prevent submit if invalid
UX
- loading state
- success message
- redirect after create
3️⃣ EDIT WEBHOOK PAGE
Route
/dashboard/webhooks/:id/edit
Features
- pre-filled form
- update webhook
- rotate secret
4️⃣ WEBHOOK DETAILS PAGE
Route
Show
- webhook info
- subscribed events
- status
- secret (masked)
5️⃣ DELIVERY LOGS PAGE
Route
/dashboard/webhooks/:id/logs
Features
-
list all deliveries
-
filter by:
- success / failed
- event type
Show
event
status
timestamp
response code
Actions
- retry failed delivery
- view payload
- view response
6️⃣ TEST WEBHOOK FEATURE
Button
Flow
click test
→ call API
→ show success/failure
🧠 STATE MANAGEMENT
Recommended
- React Query (TanStack Query)
- React Hook Form
- Zod validation
Data Flow
API → fetch → store → UI render
⚙️ API INTEGRATION
Endpoints
GET /api/v1/webhooks
POST /api/v1/webhooks
PATCH /api/v1/webhooks/:id
DELETE /api/v1/webhooks/:id
POST /api/v1/webhooks/:id/test
GET /api/v1/webhooks/:id/logs
🔐 SECURITY (FRONTEND)
Secret Handling
- never show full secret
- mask like:
Prevent
- XSS
- unsafe input rendering
🎨 UI / UX REQUIREMENTS
Must Have
- loading states
- error states
- empty state
- confirmation dialogs (delete)
UI Style
- clean SaaS design
- card + table layout
- responsive design
🧪 TESTING
Unit
- form validation
- UI components
Integration
- API calls
- create/edit flow
Edge Cases
empty list
API failure
slow network
invalid input
📊 OBSERVABILITY (Frontend)
Track:
form errors
API failures
user actions
⚡ PERFORMANCE
- lazy load pages
- pagination for logs
- debounce input
🌍 ACCESS CONTROL
Only allow:
CommunityOwner
Admin
Organizer
📦 FOLDER STRUCTURE
/pages/webhooks
/components/webhooks
/services/webhook.api.js
/hooks
/utils
🧨 EDGE CASES
invalid webhook URL
large logs list
retry spam
secret exposure
✅ ACCEPTANCE CRITERIA
✔ Webhook list page works
✔ Create webhook works
✔ Edit webhook works
✔ Delete webhook works
✔ Test webhook works
✔ Logs page works
✔ Retry delivery works
✔ Secure secret handling
✔ Responsive UI
✔ Fully tested
🔥 FINAL SUMMARY
This frontend should feel like:
Stripe / GitHub webhook dashboard
We need to build a frontend dashboard for organizers/admins where they can:
👉 This UI connects to backend webhook system (setup + delivery)
🎯 Goals
Frontend must be:
🧱 PAGES & FEATURES
1️⃣ WEBHOOK LIST PAGE
Route
Features
List all webhooks
Show:
UI Actions
Table Example
2️⃣ CREATE WEBHOOK PAGE
Route
Form Fields
Event Selector
Options:
Validation
UX
3️⃣ EDIT WEBHOOK PAGE
Route
Features
4️⃣ WEBHOOK DETAILS PAGE
Route
Show
5️⃣ DELIVERY LOGS PAGE
Route
Features
list all deliveries
filter by:
Show
Actions
6️⃣ TEST WEBHOOK FEATURE
Button
Flow
🧠 STATE MANAGEMENT
Recommended
Data Flow
⚙️ API INTEGRATION
Endpoints
🔐 SECURITY (FRONTEND)
Secret Handling
********abcdPrevent
🎨 UI / UX REQUIREMENTS
Must Have
UI Style
🧪 TESTING
Unit
Integration
Edge Cases
📊 OBSERVABILITY (Frontend)
Track:
⚡ PERFORMANCE
🌍 ACCESS CONTROL
Only allow:
📦 FOLDER STRUCTURE
🧨 EDGE CASES
✅ ACCEPTANCE CRITERIA
✔ Webhook list page works
✔ Create webhook works
✔ Edit webhook works
✔ Delete webhook works
✔ Test webhook works
✔ Logs page works
✔ Retry delivery works
✔ Secure secret handling
✔ Responsive UI
✔ Fully tested
🔥 FINAL SUMMARY
This frontend should feel like: