You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tiketku is a fullstack event ticketing application designed to simplify the process of event creation, ticket sales, and transaction management. With support for partial refunds, user withdrawal requests, and QR-based ticket validation, Tiketku delivers a complete solution for event organizers and attendees through a modern and flexible platform.
1. Project Overview
Tiketku was developed to address the complexities of managing small to mid-scale events. Many organizers face challenges with manual ticketing, refund handling, and validating tickets on event day. Evently provides an all-in-one system focused on transaction efficiency, secure payments, and transparent reporting.
This application serves two main roles: as a ticket sales portal for users and as a backend management system for event administrators.
2. Project Requirements
User registration and login via OTP and Google OAuth
Admin-side CRUD for events and tickets
Ticket purchase by users through Stripe Checkout
QR-based ticket validation and usage tracking
Partial refund capability based on event policy
Withdrawal of user balance after refund
Exportable transaction reports for admins (CSV)
3. The Challenge
The main challenge in Evently was designing a flexible yet secure refund system and ensuring a fully traceable ticket lifecycle (purchase, usage, refund). Additionally, managing and exporting transactional data had to be efficient and insightful for administrators.
4. The Approach & Solution
This system was developed with a modular and scalable approach:
Backend built using Golang (Gin), with GORM for MySQL ORM and Stripe integration for payments.
Frontend built with SvelteKit and TailwindCSS, powered by TanStack Query for data fetching and Zod for form validation.
QR-based ticket validation includes usage tracking and printable tickets.
Admins can analyze and export transaction reports from the dashboard.
5. Key Features
JWT Based Authentication with Access and Refresh Token
server/
├── config/ # Initialization and configuration of dependencies (DB, Redis, Stripe, etc.)
├── cron/ # Cron jobs for scheduled tasks (e.g. auto-expire payments, reminders)
├── dto/ # Data Transfer Objects (request/response schema validation)
├── handlers/ # HTTP handlers (controller layer) for routing logic
├── middleware/ # Middleware functions (auth guard, role checking, API key validation)
├── models/ # GORM models representing the database schema
├── services/ # Core business logic (use-case orchestration layer)
├── repositories/ # Data access layer (DB queries and transactions)
├── routes/ # Route grouping and initialization per feature
├── seeders/ # Seeder scripts for initial dummy or system data
├── utils/ # Helper functions and utilities (e.g., file uploads, formatting)
├── tests/ # Unit and integration tests for handlers, services, and repositories
├── main.go # Application entry point – initializes router and starts the server
├── docker-compose.yml # Docker orchestration for development and local services
├── Dockerfile
└── .env
8. API Endpoints (Highlights)
All end point start with /api/v1 following with any of the table listed
Tiketku is a fullstack event ticketing application designed to simplify the process of event creation, ticket sales, and transaction management. With support for partial refunds, user withdrawal requests, and QR-based ticket validation, Tiketku delivers a complete solution for event organizers and attendees through a modern and flexible platform.