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
Star0Β (0)You must be signed in to star a repository
About
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.
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.