NextEvent is a modern event management platform where organizers can create and manage events, and guests can browse, book, and cancel events. The app supports both free and paid events (via Stripe), filtered event browsing, and revenue sharing between guest and admin on cancellations.
- ⚛️ Next.js (App Router)
- 🎨 Tailwind CSS v4
- 🎥 Framer Motion
- 🦊 Lucide-react
- 🧠 Redux Toolkit
- 📦 React Query
- ✅ Formik
- 🔔 React Hot Toast
- 💳 Stripe
- 🐳 Docker
/nextevent │ ├── .github/workflows/ # GitHub Actions for CI/CD ├── api/ # Route handlers for app API ├── app/ # Next.js app router (pages, layout, routing) ├── auth/ # Protected routes and auth logic ├── components/ # Reusable UI components ├── helper/methods/ # Reusable helper functions ├── hooks/ # Custom React hooks (React Query, etc.) ├── lib/ # Stripe logic, middlewares, constants ├── public/ # Public assets like images ├── redux/ # Redux slices and store setup ├── toast/ # React Hot Toast messages ├── types/ # TypeScript types/interfaces ├── utils/ # Utility functions │ ├── .dockerignore # Docker ignore config ├── .gitignore # Git ignore config ├── Dockerfile # Docker image config ├── LICENCE # Project license (MIT) ├── README.md # Project documentation ├── eslint.config.mjs # ESLint configuration ├── next.config.ts # Next.js configuration ├── package.json # NPM scripts and dependencies ├── postcss.config.mjs # PostCSS configuration ├── tsconfig.json # TypeScript configuration ├── yarn.lock # Yarn lock file
- 🧑💼 Organizers can sign up, log in, edit profile and create, view events
- 👤 Guests can register,edit profile, browse, book, and cancel events
- 💳 Stripe integration for paid events
- 🎁 Free events supported
- 📅 Filtered event views (nearby, free, paid)
- 🔁 On cancellation, 50% refund goes to guest, 50% to admin
- 🛡️ Role-based protected routing
- 📱 Responsive UI with smooth transitions
- Node.js (v18+)
- Yarn or npm
- MongoDB
- Stripe account
- Docker (optional)
git clone https://github.com/syam-ts/nextevent.git
cd nextevent
yarn install
# or
npm install
touch .env
Add the following:
NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_BACKEND_URL=http://localhost:3001
NEXT_PUBLIC_CLOUDINARY_URL=your_cloudinary_rul
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_publishable_key
yarn dev
# or
npm run dev
Visit: http://localhost:3000
docker build -t nextevent .
docker run -d -p 3000:80 nextevent
Visit: http://localhost:3000
Note: Ensure your backend API, MongoDB, and Stripe keys are accessible within Docker.