A comprehensive, modern event management system built to help organize, manage, and track events efficiently. This collaborative platform enables event organizers to coordinate teams, manage tasks, track budgets, and communicate effectively throughout the event lifecycle.
π― Key Highlights:
- Frontend: Vite + React 19 + Tailwind CSS
- Backend: Hono (Node.js)
- Database: MySQL with Drizzle ORM
- Authentication: Auth.js (Google & GitHub Providers)
- Architecture: Modular MVC with REST API
- State Management: TanStack Query & Zustand
- Ideation Document - Complete product requirements and problem statement
- API Documentation - Route definitions
- Setup Guide - Setup instructions
- β User Authentication: Secure login via Google & GitHub (Auth.js)
- β Event Management: Create, read, update, delete events
- β Channel Management: Organize teams (Logistics, Marketing, etc.)
- β Task Management: Track tasks with priority, status, and due dates
- β Budget & Expenses: Manage event budget and track expenses
- β Modern UI: Responsive design with Tailwind CSS and Framer Motion
- π¬ Real-time Chat: Channel-based messaging
- π Document Management: File upload and sharing
- π Analytics Dashboard: Visual insights
- ποΈ Calendar Integration: Sync with external calendars
- Build Tool: Vite
- Framework: React 19
- Styling: Tailwind CSS v4
- State: Zustand, TanStack Query
- UI Components: Radix UI, Lucide React
- Runtime: Node.js
- Framework: Hono
- Database: MySQL
- ORM: Drizzle ORM
- Authentication: Auth.js (@hono/auth-js)
- Version Control: Git & GitHub
- Package Manager: npm
- Database Migrations: Drizzle Kit
- Node.js (v18+)
- MySQL Database
git clone https://github.com/GreenHacker420/Event_Managment.git
cd Event_ManagmentServer:
cd server
npm installClient:
cd ../client
npm installCreate a .env file in the server directory:
cd server
cp .env.example .envEdit server/.env:
DATABASE_URL=mysql://user:password@localhost:3306/event_db
AUTH_SECRET=your_secret_key
GOOGLE_ID=your_google_client_id
GOOGLE_SECRET=your_google_client_secret
GITHUB_ID=your_github_client_id
GITHUB_SECRET=your_github_client_secretPush the schema to your MySQL database:
cd server
npx drizzle-kit pushBackend:
cd server
npm run devServer runs on http://localhost:3000.
Frontend:
cd client
npm run devClient runs on http://localhost:5173.
http://localhost:3000/api
GET /events- List all eventsGET /events/:id- Get event detailsPOST /events- Create event (Protected)PUT /events/:id- Update event (Protected)DELETE /events/:id- Delete event (Protected)
GET /events/:eventId/channels- List channelsPOST /events/:eventId/channels- Create channel
GET /events/:eventId/tasks- List tasksPOST /events/:eventId/tasks- Create taskPUT /events/tasks/:id- Update task
GET /events/:eventId/expenses- List expensesPOST /events/:eventId/expenses- Create expense
Contributions are welcome! Please read our Contributing Guidelines first.
This project is licensed under the MIT License - see the LICENSE file for details.