Gudea Event Dashboard
The admin side of an events and ticketing platform: event review, ticket sales, organizers and permissions, in Arabic and English.
Blurred on purpose: client work under NDA
Frontend developer · admin dashboard
Gudea is an events and ticketing platform in Iraq, and this is the dashboard its team runs it from: they review and publish the events organizers submit, follow ticket sales, manage organizer accounts and set who can do what. I wrote most of its frontend, working from the design team’s screens and the backend team’s API, Arabic first with English and dark mode.
- Review each submitted event in one dialog, then approve, reject, or send it back with a note
- A moderation queue with status filters, search and a featured flag
- Platform sales by month, week and ticket tier, and a sales page for every event
- Organizer profiles: approve sign-ups, ban and reactivate accounts
- Roles with grouped permission switches, and a log of what each supervisor did
- Vue 3
- TypeScript
- Vite
- Tailwind CSS
- shadcn-vue
- Pinia
- vue-i18n
- CASL
- TanStack Table
- Unovis
- Leaflet
- vee-validate
How I built it
- Arabic-first RTL with vue-i18n, Iraqi date and number formats, and IQD
- CASL rules from the user’s permissions guard routes, the sidebar and every button
- One Axios client that queues requests behind a single token refresh
- A shared TanStack Table with server paging, loading skeletons and resizable columns
- Motion that respects reduced-motion settings, and dark mode revealed with the View Transitions API
- A generated icon file with only the icons in use, instead of four whole icon sets











