Internship Project - Backend Development
A full-stack event ticketing platform with face recognition authentication, developed during my backend development internship. This project demonstrates modern API development, database design, payment integration, and AI-powered security features.
- π Multi-Authentication: JWT, Google OAuth, Face Recognition
- π³ Payment Integration: Stripe API with webhook handling
- ποΈ Event & Ticket Management: Full CRUD operations
- π Admin Dashboard: User management and analytics
- π€ AI Security: Anti-spoofing face recognition
- π PDF Generation: QR code tickets with PDF-lib
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Face Recognitionβ
β (Next.js) βββββΊβ (NestJS) βββββΊβ (Python) β
β β β β β β
β β’ React 19 β β β’ TypeScript β β β’ OpenCV β
β β’ Tailwind CSS β β β’ Prisma ORM β β β’ PyTorch β
β β’ Next.js 15 β β β’ PostgreSQL β β β’ MTCNN β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βββββββββββββββββββ
β Database β
β (PostgreSQL) β
β β’ Users/Events β
β β’ Tickets/Paymentsβ
βββββββββββββββββββ
Smart_ticket_System/
βββ π backend/ # NestJS Backend API (Main Focus)
β βββ π src/
β β βββ π auth/ # JWT & OAuth authentication
β β βββ π user/ # User management & profiles
β β βββ π events/ # Event CRUD operations
β β βββ π ticket/ # Ticket generation & validation
β β βββ π payment/ # Stripe integration & webhooks
β β βββ π prisma/ # Database service & ORM
β βββ π prisma/ # Database schema & migrations
β βββ π docker-compose.yml # PostgreSQL container
β
βββ π frontend/ # Next.js Frontend
β βββ π src/app/ # App Router pages
β βββ π src/components/ # Reusable components
β
βββ π face-recognition/ # Python AI System
β βββ π src/ # ML models & processing
β βββ π app.py # Face recognition app
β
βββ π README.md
- Node.js 18+ and npm
- Docker and Docker Compose
- PostgreSQL (via Docker)
cd backend
# Install dependencies
npm install
# Set up environment variables
cp .env_example .env
# Start PostgreSQL with Docker
docker-compose up -d
# Run database migrations
npx prisma migrate dev
# Start the backend server
npm run start:devBackend runs on: http://localhost:4000
API Documentation: http://localhost:4000/api
cd frontend
npm install
npm run devFrontend runs on: http://localhost:3000
DATABASE_URL="postgresql://username:password@localhost:5432/smart_ticket_db"
JWT_SECRET=your_jwt_secret_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret- JWT Implementation: Secure token-based authentication
- Google OAuth: Passport.js integration for social login
- Password Security: bcrypt hashing with salt rounds
- CORS Configuration: Secure cross-origin requests
- Stripe API: Complete payment processing workflow
- Webhook Handling: Secure payment confirmation
- Session Management: Checkout session creation and validation
- Prisma ORM: Type-safe database operations
- PostgreSQL: Relational database with proper relationships
- Migrations: Version-controlled schema changes
- Data Validation: DTO validation with class-validator
- RESTful Design: Clean API endpoints
- Swagger Documentation: Auto-generated API docs
- Error Handling: Comprehensive error responses
- Middleware: Request logging and validation
POST /auth/register # User registration
POST /auth/login # User login
GET /auth/google # Google OAuth
POST /auth/forgot-password # Password reset
GET /events/getall # Get all events
GET /ticket/my-tickets # Get user tickets
GET /ticket/:id/download # Download ticket PDF
POST /payment/create-checkout-session # Stripe payment
POST /payment/webhook # Payment confirmation
# Backend Production
cd backend
npm run build
npm run start:prod
# Frontend Production
cd frontend
npm run build
npm run startThis project is licensed under the MIT License.
- NestJS - Progressive Node.js framework
- Prisma - Next-generation ORM
- Stripe - Payment processing
- OpenCV - Computer vision library
π Internship Project - Backend Development
Demonstrating modern API development, database design, and payment integration