Qraven

QRaven API: Event Ticketing Backend
QRaven API is a backend system for managing event operations, built with Go. It provides core features for user authentication, role-based access control, event management, ticket issuance, and payment tracking. The system is designed to support organizers and attendees through a structured event lifecycle, from publishing events to issuing tickets and updating payment statuses.
The backend exposes a RESTful API built with Gin and uses PostgreSQL for persistent storage, Redis for caching/session-related workflows, and JWT for secure authentication. It includes role-based authorization for users, organizers, and admins, along with Swagger documentation for easier API exploration. QRaven also includes Prometheus metrics support, startup migrations, and scheduled cleanup jobs for expired tokens.
The project is structured around clean backend architecture, with separate layers for routing, controllers, services, models, repositories, and middleware. Current functionality includes authentication, event CRUD operations, ticket creation and listing, payment initialization, and payment status updates. Future improvements include fully wired notification workflows, stronger test coverage, CI automation, and production-focused observability.
Tech Stack: Go, Gin, GORM, PostgreSQL, Redis, Viper, Swagger, Docker, Render.
Key Features:
- JWT authentication and role-based authorization
- Event creation, listing, updating, and deletion
- Ticket issuance with event capacity updates
- Payment initialization and status tracking
- PostgreSQL and Redis integration
- Swagger API documentation
- Prometheus metrics endpoint
- Docker-based deployment setup
My Focus: Backend API design, authentication, data modeling, service-layer architecture, payment/ticket lifecycle handling, and production-readiness improvements.