โ† Back to Projects

Samudramathan Tech Fest Website

Completed ๐Ÿ“… Dec 2023 โ€“ Feb 2024
GitHub Youtube

The official website for Samudramathan Tech Fest, showcasing event details, schedules, and participant information. Built with a focus on responsive design and user engagement.

React Node.js MongoDB Express REST API

Problem Statement

The tech fest required a centralized digital platform to manage participant registrations, event enrollments, secure payments, merchandise purchases, and campus ambassador applications. Previously, manual coordination created inefficiencies and payment tracking risks.

The system needed to handle real monetary transactions securely while ensuring a smooth user experience for a large student audience.

Solution & Key Features

  • ๐Ÿ” Secure authentication & session-based user management
  • ๐ŸŽŸ๏ธ Event registration system with structured database relations
  • ๐Ÿ’ณ Razorpay payment gateway integration for secure transactions
  • ๐Ÿงพ Automated SM ID generation after successful payment
  • ๐Ÿ‘• Merchandise (T-shirt) purchase module
  • ๐ŸŽ“ Campus Ambassador (CAP) registration portal
  • ๐Ÿ“Š Admin-friendly structured backend APIs

The application was designed as a monolithic architecture considering the expected audience scale. This ensured faster development, easier deployment, and simplified maintenance without unnecessary complexity.

System Architecture

The system follows a monolithic architecture:

System Architecture Diagram

Azure was used for backend hosting to ensure reliability and scalability, while Vercel provided optimized frontend deployment with global CDN.

Technical Implementation

Frontend

Built using React.js with reusable components and responsive design. Focused on optimized rendering, form validations, and seamless UX for payment flows.


const handlePayment = async () => {
  const response = await axios.post("/api/payment/create-order");

  const options = {
    key: process.env.REACT_APP_RAZORPAY_KEY,
    amount: response.data.amount,
    order_id: response.data.id,
    handler: async function (paymentResponse) {
      await axios.post("/api/payment/verify", paymentResponse);
    },
  };

  const rzp = new window.Razorpay(options);
  rzp.open();
};

Backend

Developed RESTful APIs using Node.js and Express. Implemented authentication, event registration logic, secure payment verification, and database indexing.


app.post("/api/payment/verify", async (req, res) => {
  const { razorpay_order_id, razorpay_payment_id, razorpay_signature } = req.body;

  const generated_signature = crypto
    .createHmac("sha256", process.env.RAZORPAY_SECRET)
    .update(razorpay_order_id + "|" + razorpay_payment_id)
    .digest("hex");

  if (generated_signature === razorpay_signature) {
    // Update DB, generate SM ID
    return res.status(200).json({ success: true });
  }

  res.status(400).json({ success: false });
});

Ownership & System Design Thinking

  • Designed complete database schema for Users, Events, Registrations, Payments
  • Chose monolithic structure intentionally for faster deployment & maintainability
  • Handled real payment transactions securely (โ‚น2+ lakh processed)
  • Managed production deployment (Azure + Vercel)
  • Ensured secure environment variables and payment verification flow
  • Delivered full project lifecycle independently in 3 months

This project demonstrates my ability to take full responsibility โ€” from requirement gathering to deployment โ€” and deliver a real-world, revenue-generating system.

Key Learnings

  • Production-level payment gateway integration
  • Cloud deployment & environment configuration
  • Scalable backend API design
  • Real-world database modeling
  • Handling real financial transactions securely
  • End-to-end product ownership

Impact

Successfully deployed for a live college tech fest audience.
Processed โ‚น2+ lakh in registration revenue.
Enabled seamless digital registration for participants.
Reduced manual coordination effort significantly.

Check Out the Project

GitHub Repository Youtube
โ† Back to Projects