Overview कार्यकारी सारांश

EventEase is a full-stack, cloud-optimized event management platform built to merge the capabilities of two previously separate products: EventEase (smart scheduling + Google Calendar sync) and EventPro (event creation, listing, and role-based dashboards). This unified application simplifies event planning through a modular, scalable architecture using MERN stack, Redux Toolkit, AWS Lambda, and Vercel CI/CD. इवेंटईज़ एक फुल-स्टैक, क्लाउड-अनुकूलित इवेंट प्रबंधन मंच है, जो दो पहले अलग-अलग उत्पादों की क्षमताओं को एकीकृत करने के लिए बनाया गया है: इवेंटईज़ (स्मार्ट शेड्यूलिंग + Google कैलेंडर सिंक) और इवेंटप्रो (इवेंट निर्माण, लिस्टिंग, और भूमिका-आधारित डैशबोर्ड)। यह एकीकृत एप्लिकेशन मॉड्यूलर, स्केलेबल आर्किटेक्चर का उपयोग करके इवेंट प्लानिंग को सरल बनाता है, जिसमें MERN स्टैक, Redux Toolkit, AWS Lambda, और Vercel CI/CD शामिल हैं।

Developed by Sanjay Patidar, the platform is live at eventunified.vercel.app with source code available at GitHub. संजय पाटीदार द्वारा विकसित, यह मंच eventunified.vercel.app पर लाइव है, और इसका स्रोत कोड GitHub पर उपलब्ध है।

Project Objectives प्रोजेक्ट उद्देश्य

Goal उद्देश्य Description विवरण
Merge two apps into one दो ऐप्स को एक में मिलाएँ Unified two separate workflows without breaking legacy flows दो अलग-अलग वर्कफ़्लो को एकीकृत किया बिना पुराने प्रवाह को तोड़े
Enable event scheduling इवेंट शेड्यूलिंग सक्षम करें Build and connect with Google Calendar API Google Calendar API के साथ निर्माण और कनेक्शन
Simplify event CRUD इवेंट CRUD को सरल बनाएँ Add, update, and list events with pagination and validation पेजिनेशन और वैलिडेशन के साथ इवेंट जोड़ें, अपडेट करें और सूचीबद्ध करें
Support real-time dashboards वास्तविक समय डैशबोर्ड समर्थन Separate dashboards for users and admins उपयोगकर्ताओं और प्रशासकों के लिए अलग-अलग डैशबोर्ड
Provide seamless auth निर्बाध प्रमाणीकरण प्रदान करें Support both Google OAuth and email-password login via Passport.js Passport.js के माध्यम से Google OAuth और ईमेल-पासवर्ड लॉगिन दोनों का समर्थन
Cloud-native scalability क्लाउड-नेटिव स्केलेबिलिटी Use serverless backend with AWS Lambda and CI/CD-enabled frontend AWS Lambda के साथ सर्वरलेस बैकएंड और CI/CD-सक्षम फ्रंटएंड का उपयोग

Architecture Summary सिस्टम आर्किटेक्चर

EventEase Architecture Diagram Image: EventEase Full System Architecture छवि: इवेंटईज़ पूर्ण सिस्टम आर्किटेक्चर

Components: घटक:

  • Frontend: React, Redux Toolkit, Styled Components, hosted on Vercel फ्रंटएंड: React, Redux Toolkit, Styled Components, Vercel पर होस्टेड
  • Backend: Node.js + Express on AWS Lambda, MongoDB Atlas for storage बैकएंड: AWS Lambda पर Node.js + Express, MongoDB Atlas डेटा संग्रहण के लिए
  • Security: JWT Auth, session-based routing, input validation सुरक्षा: JWT प्रमाणीकरण, सत्र-आधारित रूटिंग, इनपुट सत्यापन
  • Integration: Google Calendar via googleapis library एकीकरण: googleapis लाइब्रेरी के माध्यम से Google Calendar
  • DevOps: Vercel CI/CD, CloudWatch for monitoring DevOps: Vercel CI/CD, निगरानी के लिए CloudWatch

Modules and Routes मॉड्यूल और रूट्स

Module मॉड्यूल Key Routes मुख्य रूट्स Features विशेषताएँ
EventEase /eventease/create-event, /eventease/login Calendar integration (soon), smart scheduling, user-facing forms कैलेंडर एकीकरण (जल्द ही), स्मार्ट शेड्यूलिंग, उपयोगकर्ता-मुखी फॉर्म
EventPro /eventpro/add-event, /eventpro/dashboard Event CRUD, dashboards, admin control इवेंट CRUD, डैशबोर्ड, प्रशासक नियंत्रण
Global /login, /register, /forgot-password Auth flows using JWT & Google OAuth JWT और Google OAuth का उपयोग करके प्रमाणीकरण प्रवाह

Key Features मुख्य विशेषताएँ

  • Authentication: Integrated Passport.js for Google + Email login, JWT in HTTP-only cookies, middleware-based route protection प्रमाणीकरण: Google + ईमेल लॉगिन के लिए Passport.js एकीकृत, HTTP-only कुकीज़ में JWT, मिडलवेयर-आधारित रूट संरक्षण
  • Calendar Integration: FullCalendar component for events, Google Calendar sync planned, moment.js/dayjs for date handling कैलेंडर एकीकरण: इवेंट्स के लिए FullCalendar घटक, Google Calendar सिंक की योजना, तारीख प्रबंधन के लिए moment.js/dayjs
  • Event CRUD: Admin dashboard for event management, MongoDB Atlas storage, express-validator for validation इवेंट CRUD: इवेंट प्रबंधन के लिए प्रशासक डैशबोर्ड, MongoDB Atlas संग्रहण, सत्यापन के लिए express-validator
  • User Dashboard: Role-based views for registered events using Redux and JWT उपयोगकर्ता डैशबोर्ड: Redux और JWT का उपयोग करके पंजीकृत इवेंट्स के लिए भूमिका-आधारित दृश्य
  • Form Handling: Live validation, toasts, and field-level feedback with Redux slices फॉर्म हैंडलिंग: Redux स्लाइस के साथ लाइव सत्यापन, टोस्ट, और फ़ील्ड-स्तरीय फीडबैक

Challenges and Solutions चुनौतियाँ और समाधान

Problem समस्या Solution समाधान
Two separate legacy codebases दो अलग-अलग पुराने कोडबेस Refactored into a shared Redux structure and modular routing साझा Redux संरचना और मॉड्यूलर रूटिंग में रिफैक्टर्ड
Maintaining route protection रूट संरक्षण बनाए रखना Built a central route guard using decoded JWT and role check डिकोडेड JWT और भूमिका जाँच का उपयोग करके केंद्रीय रूट गार्ड बनाया
Google Calendar integration complexity Google Calendar एकीकरण जटिलता Used googleapis npm package with OAuth2 strategy, stored tokens securely OAuth2 रणनीति के साथ googleapis npm पैकेज का उपयोग, टोकन सुरक्षित रूप से संग्रहीत
Cross-module state conflicts क्रॉस-मॉड्यूल स्टेट टकराव Introduced slice scoping, separated state keys by domain स्लाइस स्कोपिंग शुरू की, डोमेन के आधार पर स्टेट कुंजी अलग की
Form re-renders and async flickers फॉर्म री-रेंडर और एसिंक फ्लिकर Solved using React.memo and Toastify feedback React.memo और Toastify फीडबैक का उपयोग करके हल किया

Backend Structure (Render + Serverless) बैकएंड संरचना (Render + सर्वरलेस)

Backend Architecture Image: Backend Architecture छवि: बैकएंड आर्किटेक्चर
Component घटक Functionality कार्यक्षमता
authHandler.js Google OAuth, email login, JWT generation, session handling Google OAuth, ईमेल लॉगिन, JWT जनरेशन, सत्र प्रबंधन
eventHandler.js CRUD logic for events; all protected routes इवेंट्स के लिए CRUD तर्क; सभी संरक्षित रूट्स
calendarHandler.js Google Calendar stub functions; sync events coming soon Google Calendar स्टब फ़ंक्शन; इवेंट्स सिंक जल्द ही
userSchema.js Role-based user model using Mongoose Mongoose का उपयोग करके भूमिका-आधारित उपयोगकर्ता मॉडल
eventSchema.js Indexed MongoDB schema with timestamps, repeat flags टाइमस्टैम्प, दोहराने वाले फ़्लैग के साथ इंडेक्स्ड MongoDB स्कीमा
Middleware checkAuth, validateInput, handleErrors checkAuth, validateInput, handleErrors

Deployment & CI/CD तैनाती और CI/CD

Deployment Architecture Image: Deployment Architecture छवि: तैनाती आर्किटेक्चर
  • Frontend: Deployed to Vercel, auto-built on GitHub push फ्रंटएंड: Vercel पर तैनात, GitHub पुश पर स्वचालित रूप से निर्मित
  • Backend: Hosted on Render, structured to migrate to full AWS Lambda API Gateway model बैकएंड: Render पर होस्टेड, पूर्ण AWS Lambda API Gateway मॉडल में माइग्रेट करने के लिए संरचित
  • Domain: eventunified.vercel.app with clean route separation डोमेन: eventunified.vercel.app स्वच्छ रूट पृथक्करण के साथ
  • Monitoring: CloudWatch logs and potential Nodemailer alerts निगरानी: CloudWatch लॉग्स और संभावित Nodemailer अलर्ट
  • Security: HTTPS, JWT-based token flow, CORS, .env credential loading सुरक्षा: HTTPS, JWT-आधारित टोकन प्रवाह, CORS, .env क्रेडेंशियल लोडिंग

Performance Metrics प्रदर्शन मेट्रिक्स

Metric मेट्रिक Result परिणाम
First Load Time पहली लोड समय ~900ms (cached via Vercel CDN)
Lighthouse Score लाइटहाउस स्कोर 98 Performance, 100 Accessibility
Page Latency पेज विलंबता -25% after async data fetching refactor
Auth Success Rate प्रमाणीकरण सफलता दर 100% with JWT + Google OAuth fallback
Uptime अपटाइम 99.9% (CI/CD auto-redeploy + serverless infra)

Future Scope भविष्य की योजना

Feature फीचर Description विवरण
Google Calendar Write Sync Google Calendar लेखन सिंक Sync user-created events with Google Calendar (2-way) उपयोगकर्ता-निर्मित इवेंट्स को Google Calendar के साथ सिंक करें (दो-तरफ़ा)
Multi-Tenant Mode मल्टी-टेनेंट मोड Support for different organizations via subdomain isolation सबडोमेन अलगाव के माध्यम से विभिन्न संगठनों के लिए समर्थन
Admin Reporting Panel प्रशासक रिपोर्टिंग पैनल Analytics, event stats, and attendance exports विश्लेषण, इवेंट आँकड़े, और उपस्थिति निर्यात
PDF Badge Generator PDF बैज जनरेटर Issue participation badges to attendees उपस्थित लोगों को भागीदारी बैज जारी करें
AWS Migration AWS माइग्रेशन Move backend fully to AWS Lambda and remove Render dependency बैकएंड को पूरी तरह से AWS Lambda पर ले जाएँ और Render निर्भरता हटाएँ

Frequently Asked Questions

Common queries about the EventEase project, its technology, purpose, and deployment.

It is a real project unifying two event management platforms. The platform is live at eventunified.vercel.app with source code on GitHub.
React, Redux Toolkit, Styled Components on the frontend; Node.js, Express, AWS Lambda, MongoDB Atlas for backend; Vercel for hosting.
Uses Passport.js for Google OAuth and email-password login, with JWT stored in HTTP-only cookies and middleware for route protection.
Calendar display is live via FullCalendar; two-way Google Calendar sync is planned via the /sync-google-calendar endpoint.
Currently hosted on Render with AWS Lambda for serverless functions, with plans to migrate fully to AWS Lambda and API Gateway.
Lighthouse score: 98 Performance, 100 Accessibility. First load time: ~900ms. Uptime: 99.9% with CI/CD.
Yes, future plans include multi-tenant mode with subdomain isolation and admin reporting panels.

Final Reflection अंतिम विचार

This project unified two distinct event management platforms into a single, scalable solution, reducing code duplication by 40% and improving performance through modular Redux and serverless architecture. इस प्रोजेक्ट ने दो अलग-अलग इवेंट प्रबंधन मंचों को एक एकल, स्केलेबल समाधान में एकीकृत किया, जिससे कोड दोहराव 40% कम हुआ और मॉड्यूलर Redux और सर्वरलेस आर्किटेक्चर के माध्यम से प्रदर्शन में सुधार हुआ।

Authored by: Sanjay Patidar, Full-Stack Web Developer लेखक: संजय पाटीदार, फुल-स्टैक वेब डेवलपर