Discover. Organize. Experience. All in one place.
Check out the live deployed version of Eventro:
👉 https://eventro0.netlify.app/
Prototype video
Eventro is a modern, AI-powered event management platform designed for both organizers and attendees. With seamless registration, smart recommendations, analytics, and a beautiful UI, Eventro makes every event memorable and efficient.
- 🌎 Discover Events: Browse and search for events in your area
- 📝 Easy Registration: Register for events in seconds
- 🧠 Personalized Recommendations: AI-powered suggestions tailored to your interests
- 🎟️ Digital Tickets: QR code tickets for fast check-in
- 💬 Contact Organizers: Direct messaging with event hosts
- ❤️ Favorites: Save and revisit your favorite events
- 🆕 Event Creation: Publish events with rich details and images
- 👥 Attendee Management: Upload, manage, and communicate with attendees
- ✅ Check-In System: QR code scanning for smooth entry
- 📦 Distribution Tracking: Manage swag, lunch, and more
- 📊 Analytics Dashboard: Real-time insights and performance metrics
- 📣 Feedback Management: Collect and analyze attendee feedback
- 📨 Messaging System: Built-in communication tools
- Frontend: React, TypeScript, Vite
- UI: shadcn/ui, Tailwind CSS
- Database: Supabase
- Maps: Mapbox
- AI: Google Gemini API
- Email: SMTP (Gmail)
- QR Scanning: qr-scanner
Click to expand full folder tree
eventro/
├── bun.lockb
├── components.json
├── email-server.js
├── eslint.config.js
├── index.html
├── package.json
├── postcss.config.js
├── README.md
├── tailwind.config.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
├── public/
│ ├── favicon.ico
│ ├── logo.png
│ ├── placeholder.svg
│ └── robots.txt
├── src/
│ ├── App.css
│ ├── App.tsx
│ ├── index.css
│ ├── main.tsx
│ ├── vite-env.d.ts
│ ├── components/
│ │ ├── Categories.tsx
│ │ ├── ContactOrganizerModal.tsx
│ │ ├── DynamicPricing.tsx
│ │ ├── EventCard.tsx
│ │ ├── EventPaths.tsx
│ │ ├── EventRegistration.tsx
│ │ ├── Footer.tsx
│ │ ├── Hero.tsx
│ │ ├── InterestSelector.tsx
│ │ ├── LocationMap.tsx
│ │ ├── Navbar.tsx
│ │ ├── PersonalizedRecommendations.tsx
│ │ ├── admin/
│ │ │ ├── AttendeeUpload.tsx
│ │ │ ├── CheckIn.tsx
│ │ │ ├── Dashboard.tsx
│ │ │ ├── DashboardAnalytics.tsx
│ │ │ ├── Distribution.tsx
│ │ │ ├── EventActivities.tsx
│ │ │ ├── EventAnalytics.tsx
│ │ │ ├── EventCalendar.tsx
│ │ │ ├── EventFinancials.tsx
│ │ │ ├── FeedbackManagement.tsx
│ │ │ ├── Messages.tsx
│ │ │ └── UserEvents.tsx
│ │ ├── profile/
│ │ │ ├── FeedbackForm.tsx
│ │ │ └── PurchasedTickets.tsx
│ │ └── ui/
│ │ ├── accordion.tsx
│ │ ├── ... (all shadcn/ui components)
│ ├── data/
│ │ └── events.ts
│ ├── hooks/
│ │ ├── use-mobile.tsx
│ │ └── use-toast.ts
│ ├── integrations/
│ │ └── supabase/
│ │ ├── client.ts
│ │ └── types.ts
│ ├── lib/
│ │ └── utils.ts
│ ├── pages/
│ │ ├── Admin.tsx
│ │ ├── BrowseEvents.tsx
│ │ ├── CreateEvent.tsx
│ │ ├── EditEvent.tsx
│ │ ├── EventAnalyticsPage.tsx
│ │ ├── EventDetail.tsx
│ │ ├── Favorites.tsx
│ │ ├── Home.tsx
│ │ ├── Index.tsx
│ │ ├── Login.tsx
│ │ ├── NotFound.tsx
│ │ ├── Profile.tsx
│ │ ├── Recommendations.tsx
│ │ ├── Register.tsx
│ │ └── SignUp.tsx
│ ├── services/
│ │ ├── geminiService.ts
│ │ └── recommendationService.ts
│ ├── types/
│ │ ├── admin.ts
│ │ └── event.ts
│ └── utils/
│ ├── directEmailService.ts
│ ├── emailService.ts
│ ├── notificationService.ts
│ └── ticketGenerator.ts
├── supabase/
│ ├── config.toml
│ ├── functions/
│ │ ├── analyze-receipt/
│ │ ├── financial-insights/
│ │ ├── generate-email/
│ │ ├── send-email/
│ │ ├── send-reminder-email/
│ │ └── send-ticket-email/
│ └── migrations/
│ ├── 20240701000000_add_feedback_and_event_days.sql
│ ├── 20240702000000_fix_notifications_table.sql
│ ├── 20240702000001_complete_schema.sql
│ ├── 20240702000002_fix_feedback_table.sql
│ ├── 20240702000003_fix_event_day_columns.sql
│ ├── 20250512000000_add_recommendation_tables.sql
│ ├── 20250513000000_fix_event_paths_policy.sql
│ ├── 20250514000000_add_event_path_functions.sql
│ └── 20250515000000_add_messages_table.sql
- src/services/geminiService.ts – Gemini API integration for AI-powered recommendations
- src/services/recommendationService.ts – Recommendation engine logic
- src/components/PersonalizedRecommendations.tsx – Personalized event suggestions UI
- src/components/EventPaths.tsx – Personalized learning/event paths UI
- src/components/DynamicPricing.tsx – Dynamic pricing based on user engagement
- src/components/InterestSelector.tsx – User interest selection for personalization
- Node.js & npm (Install with nvm)
# 1. Clone the repository
git clone <YOUR_REPO_URL>
# 2. Navigate to the project directory
cd eventro
# 3. Install dependencies
npm install
# 4. Start the development server
npm run dev
Eventro is fully responsive and optimized for all devices.
Secure login and registration powered by Supabase Auth.
Automated emails for registration, check-in, and distributions.
Interactive venue maps powered by Mapbox.
- Smart event matching and recommendations (Gemini API)
- Personalized learning/event paths
- Dynamic pricing for loyal users
- Registration trends
- Attendance rates
- Feedback analysis
WhatsApp-style chat between organizers and attendees.
Modern, clean, and easily customizable UI.
Deploy easily on Vercel, Netlify, or your favorite platform.
We welcome contributions! Please open issues or submit pull requests.
For help, contact the Eventro team or open an issue.