Event Hub is a comprehensive, enterprise-grade event booking and management system. Built with modern web technologies, it provides a seamless experience for event organizers to publish events and for users to discover and book distinct experiences.
- User Authentication: Secure login and registration using NextAuth.js (social and credentials).
- Event Management: Create, update, and manage events with detailed descriptions, images, and categorization.
- Booking System: Real-time booking capabilities with capacity management.
- Payment Integration: Secure payment processing for paid events (Integrated with Midtrans).
- Dashboard:
- User: View booking history, wishlist, and manage profile.
- Admin/Organizer: Analytics, booking management, and event oversight.
- Reviews & Ratings: Community-driven feedback system for events.
- Notifications: Real-time alerts for booking updates and reminders.
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices.
- Search & Filter: Advanced search functionality with category and date filtering.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Authentication: NextAuth.js
- Styling: Tailwind CSS & Shadcn UI
- Forms: React Hook Form & Zod
- Payments: Midtrans
- Deployment: Vercel (Recommended)
Prerequisites: Node.js (v18+), PostgreSQL, and npm/yarn/pnpm.
-
Clone the repository
git clone https://github.com/MDF05/event-hub.git cd event-hub -
Install dependencies
npm install
-
Configure Environment Variables Copy
.env.exampleto.envand fill in the required values.cp .env.example .env
-
Database Setup Run Prisma migrations to set up your database schema.
npx prisma migrate dev
-
Run the application
npm run dev
Open http://localhost:3000 to view it in the browser.
- Register for an account and navigate to the "Create Event" page.
- Fill in event details, set ticket prices/capacity, and publish.
- Monitor bookings via the Organizer Dashboard.
- Browse events on the homepage or use the search feature.
- Click on an event to view details.
- Select tickets and proceed to checkout.
- View your tickets in the "My Bookings" section.
This project maintains a comprehensive documentation system. Please refer to the following guides for detailed information:
- Architecture - High-level overview, component responsibilities, and design principles.
- API Documentation - API endpoints, authentication, and usage examples.
- Database Schema - Tables, relationships, and data models.
- Deployment Guide - Build steps and production deployment best practices.
- Environment Configuration - Required environment variables and secrets.
- Testing Strategy - Testing tools, coverage, and how to run tests.
- Style Guide - Coding standards, naming conventions, and linting.
- Contributing Guide - Workflow, branching strategy, and PR guidelines.
- Code of Conduct - Community standards and enforcement.
- Security Policy - Vulnerability reporting and supported versions.
- Changelog - Version history and notable changes.
- Governance - Maintainer roles and decision-making.
- Roadmap - Future goals and planned milestones.
- Support - How to get help and report issues.
- Disclaimer - Legal disclaimers and liability limitations.
- License - MIT License details.
event-hub/
βββ prisma/ # Database schema and migrations
βββ public/ # Static assets
βββ src/
β βββ app/ # Next.js App Router pages and API routes
β βββ components/ # Reusable React components
β βββ lib/ # Utility functions and configurations
β βββ types/ # TypeScript type definitions
β βββ middleware.ts # Request middleware (Auth)
βββ .env # Environment variables
βββ package.json # Project dependencies
We welcome contributions! Please see our Contributing Guide for details on how to get started.
If you discover a security vulnerability within this project, please check our Security Policy for reporting instructions.
This project is licensed under the MIT License.
MDF05
- GitHub: @MDF05