Your Gateway to Nigeria's Most Magical Christmas Experience
π Live Demo | π Documentation | π³ Payment Integration
WonderTix is a modern, user-friendly ticketing platform built for Festive Wonderland 2024 - Nigeria's premier Christmas celebration event in Minna, Niger State. The platform provides seamless ticket purchasing, secure payment processing via Alat by Wema Bank, and digital ticket delivery.
- π Date: December 15, 2024 - January 5, 2025
- π Time: 10:00 AM - 10:00 PM Daily
- π Location: Minna City Park, Niger State, Nigeria
- π« Ticket Types: 6 different categories for all ages and groups
- Hero Section - Eye-catching event banner with key details
- About Event - Comprehensive event description
- Event Highlights - What to expect (rides, shows, food, activities)
- Ticket Preview - Quick overview of all ticket categories
- Platform Features - Why choose WonderTix
- Testimonials - Real customer experiences
- Call-to-Action - Strategic CTAs throughout
- Footer - Complete navigation and social links
- 6 Ticket Categories:
- Normal Ticket (β¦2,500) - General access
- Adult Ticket (β¦3,000) - 18+ premium entry
- Kids Ticket (β¦1,500) - Ages 3-12, discounted
- Mother & Child (β¦4,000) - Combo deal
- Family Pack (β¦8,500) - 2 Adults + 2 Kids, save 15%
- Group Pack (β¦12,000) - 6 tickets, save 20%
- Interactive Quantity Selection - +/- buttons and manual input
- Real-time Total Calculation - Instant price updates
- Order Summary - Sticky checkout bar on desktop
- FAQ Section - Common questions answered
- Customer Information Form
- Full name validation
- Email format validation
- Nigerian phone number validation
- Terms & conditions agreement
- Live Order Summary - Sidebar with ticket breakdown
- Form Validation - Real-time error feedback
- Secure Payment - Alat by Wema Bank integration
- Transaction Reference - Unique ID generation
- localStorage Persistence - Order data saved locally
- Loading States - Professional loading animations
- Payment Gateway Redirect - Seamless Alat integration
- Success Page - Order confirmation and ticket details
- Failure Page - Clear error messages and retry options
- Email Notifications - Ticket delivery reminders
- Download Tickets - PDF generation (placeholder)
- React 18.3.1 - Modern UI library
- Vite 6.0.5 - Lightning-fast build tool
- React Router DOM 7.9.4 - Client-side routing
- Tailwind CSS 4.1.16 - Utility-first CSS framework
- Custom Color Palette:
- Primary Red:
#B54738 - Soft Blush:
#FFEDED - Earth Green:
#3A4F30
- Primary Red:
- React Icons 5.5.0 - Comprehensive icon library
- Custom SVG Graphics - Brand-specific illustrations
- Alat by Wema Bank - Nigerian payment gateway
- localStorage - Client-side data persistence
WonderTix/
βββ public/ # Static assets
βββ src/
β βββ assets/ # Images, icons, fonts
β βββ components/ # Reusable components
β β βββ ui/
β β β βββ Logo.jsx # Brand logo component
β β βββ Nav.jsx # Navigation bar
β β βββ Hero.jsx # Landing hero section
β β βββ About.jsx # Event description
β β βββ EventHighlights.jsx # Attractions showcase
β β βββ TicketPreview.jsx # Ticket categories preview
β β βββ Features.jsx # Platform benefits
β β βββ Testimonials.jsx # Customer reviews
β β βββ CTA.jsx # Call-to-action section
β β βββ Footer.jsx # Site footer
β βββ pages/
β β βββ Home.jsx # Landing page
β β βββ Ticket.jsx # Ticket selection page
β β βββ Checkout.jsx # Checkout form
β β βββ PaymentProcessing.jsx # Payment redirect handler
β β βββ PaymentSuccess.jsx # Success confirmation
β β βββ PaymentFailed.jsx # Failure handling
β β βββ EventDetails.jsx # Event details (legacy)
β βββ App.jsx # Main app component
β βββ main.jsx # App entry point
β βββ index.css # Global styles
βββ CHECKOUT_DOCUMENTATION.md # Checkout system docs
βββ PAYMENT_INTEGRATION.md # CTO integration guide
βββ package.json # Dependencies
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind configuration
βββ README.md # This file
- Node.js (v18.0.0 or higher)
- npm or yarn
- Modern web browser
git clone https://github.com/Devstein1365/WonderTix.git
cd WonderTixnpm install
# or
yarn installCreate a .env file in the root directory:
# Alat Payment Gateway (for production)
REACT_APP_ALAT_MERCHANT_ID=your_merchant_id
REACT_APP_ALAT_PUBLIC_KEY=your_public_key
REACT_APP_ALAT_SECRET_KEY=your_secret_key
REACT_APP_ALAT_PAYMENT_URL=https://payment.alat.ng/checkoutnpm run dev
# or
yarn devVisit http://localhost:5173 in your browser.
npm run build
# or
yarn buildnpm run preview
# or
yarn preview| Route | Page | Description |
|---|---|---|
/ |
Home | Landing page with event details |
/tickets |
Ticket Selection | Browse and select tickets |
/checkout |
Checkout | Customer information form |
/payment-processing |
Processing | Payment gateway redirect |
/payment-success |
Success | Order confirmation |
/payment-failed |
Failure | Payment error handling |
/event:id |
Event Details | Legacy event details page |
Pending Order (during checkout):
{
transactionRef: "WTX-1234567890-ABC123",
customerInfo: {
fullName: "John Doe",
email: "john@example.com",
phone: "+2348012345678"
},
tickets: [...],
totalAmount: 5000,
orderDate: "2024-01-15T10:30:00.000Z",
status: "pending"
}Completed Orders:
[
{
// Same as pending order
status: "completed",
paymentDate: "2024-01-15T10:32:15.000Z",
},
];# Test invalid inputs
- Empty fields
- Invalid email format
- Wrong phone format
- Unchecked terms checkbox
# Test valid inputs
- Full name: "John Doe"
- Email: "john@example.com"
- Phone: "08012345678" or "+2348012345678"
- Terms: Checked- Navigate to
/tickets - Select ticket quantities
- Click "Proceed to Checkout"
- Fill customer information
- Submit form
- Observe payment processing
- Verify success/failure page
/* Primary Palette */
--primary-red: #b54738;
--soft-blush: #ffeded;
--earth-green: #3a4f30;
/* Neutrals */
--white: #ffffff;
--gray-50: #f9fafb;
--gray-600: #4b5563;
--gray-800: #1f2937;- Font Family: System font stack (sans-serif)
- Headings: Bold, 2xl-5xl sizes
- Body: Regular, base size
- Small Text: 0.875rem
- Container Max Width: 1280px
- Section Padding: 4rem (desktop), 2rem (mobile)
- Element Gap: 1rem - 2rem
/* Mobile First */
sm: 640px /* Small devices */
md: 768px /* Tablets */
lg: 1024px /* Laptops */
xl: 1280px /* Desktops */
2xl: 1536px /* Large screens */- β Single column layouts
- β Touch-friendly buttons (min 44px)
- β Readable font sizes (min 16px)
- β Optimized keyboard types
- β Sticky checkout bar
π‘ PLACEHOLDER MODE - Ready for production integration
- Get Alat Credentials from Wema Bank
- Update Environment Variables with API keys
- Replace Mock Function in
Checkout.jsx - Test with Alat Test Cards
- Deploy to Production
See PAYMENT_INTEGRATION.md for detailed instructions.
- Checkout Documentation - Complete checkout system guide
- Payment Integration Guide - CTO integration instructions
- Component Documentation - Individual component details (coming soon)
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- β No critical issues currently
- EventDetails.jsx has unused 'id' variable (minor, non-blocking)
- Landing page with all sections
- Ticket selection and quantity management
- Checkout form with validation
- Payment gateway placeholder
- Success/failure pages
- Alat payment gateway integration
- Backend API for order verification
- Email ticket delivery system
- PDF ticket generation
- Admin dashboard
- User accounts and login
- Order history page
- Promo code system
- Gift ticket option
- Mobile app (React Native)
- Analytics dashboard
- Email: support@wondertix.com
- Phone: +234 (0) 803 XXX XXXX
- Website: www.wondertix.com
- Developer: Devstein1365
- GitHub: @Devstein1365
- Website: https://alat.ng
- Email: support@alat.ng
- Business: business@wemabank.com
This project is proprietary and confidential.
Β© 2024 WonderTix. All Rights Reserved.
Unauthorized copying, modification, distribution, or use of this software, via any medium, is strictly prohibited without explicit permission.
- React Team - For the amazing framework
- Vite - For lightning-fast development
- Tailwind CSS - For beautiful, utility-first styling
- React Icons - For comprehensive icon library
- Alat by Wema Bank - For payment gateway services
- Festive Wonderland Team - For the incredible event
Built with β€οΈ for Festive Wonderland 2024