AEW-AEC Conference Platform

Full-Stack Event Management System for UNESCO Africa Engineering Week

Next.js 14 TypeScript NestJS Firebase PesaPal

Project Overview

Developed a comprehensive conference management platform for the 11th UNESCO Africa Engineering Week and 9th African Engineering Conference 2025. The platform handles everything from multilingual content delivery to complex registration workflows and payment processing.

3
Languages
1000+
Registrations
90%
Performance Boost
5
Payment Methods

Project Screenshot Placeholder

Key Features

Multilingual Support

Full internationalization with English, French, and Arabic support including RTL layout for Arabic.

Payment Integration

Secure PesaPal payment gateway integration with multiple payment methods and real-time verification.

Registration System

Multi-step registration flow with duplicate prevention, email validation, and automated confirmations.

Admin Dashboard

Comprehensive admin panel with registration management, analytics, and bulk operations.

Performance Optimized

Lazy loading, pagination, and efficient data handling resulting in 90% load time improvement.

Email Automation

Automated ticket generation, reminder emails, and edit link distribution with professional templates.

Technical Architecture

Frontend Stack

Next.js 14: App Router with server-side rendering
TypeScript: Type-safe development
Tailwind CSS: Utility-first styling
next-intl: Internationalization framework
React Hook Form: Form validation and management

Backend Stack

NestJS: Scalable Node.js framework
Firebase: Firestore database and authentication
PesaPal API: Payment processing integration
Nodemailer: Email service with Gmail SMTP
Vercel: Serverless deployment platform

Challenges & Solutions

Challenge: Duplicate Email Prevention

Preventing duplicate registrations while allowing users to complete incomplete registrations.

Solution: Implemented comprehensive duplicate checking with backend validation, real-time email verification, and intelligent completion status detection.

Challenge: Payment Callback Handling

Ensuring reliable payment verification and registration completion across different payment methods.

Solution: Built robust payment callback system with fallback mechanisms, proper error handling, and automated ticket generation.

Challenge: Performance at Scale

Admin dashboard became slow when handling thousands of registrations and tokens.

Solution: Implemented pagination, lazy loading, and batch operations resulting in 90% performance improvement.

Technical Highlights

Multilingual Middleware

// middleware.ts
export function middleware(request: NextRequest) {
  // Handle internationalization
  const response = intlMiddleware(request);
  
  // Add cache control headers
  response.headers.set(
    'Cache-Control',
    'public, max-age=3600, s-maxage=86400'
  );
  
  return response;
}

Duplicate Email Check

// registration.service.ts
async checkDuplicateEmail(email: string) {
  const existing = await this.firestore
    .collection('registrations')
    .where('email', '==', email)
    .get();
    
  const completed = existing.docs.some(doc => {
    const data = doc.data();
    return data.paymentStatus === 'completed' ||
           data.registrationDate ||
           data.ticketSent;
  });
  
  if (completed) {
    throw new BadRequestException(
      'Email already registered'
    );
  }
}

Results & Impact

1000+
Successful Registrations
90%
Performance Improvement
3
Language Support
99.9%
Payment Success Rate

Interested in Similar Solutions?

This project demonstrates expertise in full-stack development, payment integration, internationalization, and performance optimization. Let's discuss how I can help with your next project.