EventConnect is a comprehensive event management platform built with modern web technologies, enabling users to create, discover, and participate in events with ease. The platform features a robust event management system with public/private event controls, participant tracking, and real-time updates.
- Event Discovery: Browse and filter events with paginated listings
- Event Participation: Join public events or private events with PIN protection
- Participant Management: Track participant counts and seat availability
- Event Details: Comprehensive event information including location, time, organizer, and status
- Responsive UI: Mobile-friendly interface with smooth animations
- Real-time Updates: Instant feedback on event participation status
- Loading States: Smooth transitions and loading indicators for better UX
- Create and manage events with detailed information
- Set maximum participants for private events
- Track real-time participant counts
- Display event status (Public/Private) with visual indicators
- Join events with one-click functionality
- Handle concurrent join requests with loading states
- Prevent duplicate participation
- Restrict event creators from joining their own events
- Paginated event listings with navigation controls
- Event cards with:
- Event name and status badge
- Location and timing information
- Organizer details
- Participant count and seat availability
- Responsive grid layout for event display
- Loading skeletons for smooth content transitions
- Built with Next.js 15 and React 19
- State management using React hooks (useState, useEffect, useCallback)
- API integration with fetch and error handling
- Session management with NextAuth.js
- Responsive design with TailwindCSS
- Icon integration from Lucide and Radix UI
- RESTful API endpoints for:
- Event listing with pagination
- Event participation
- User authentication
- Data fetching with retry mechanism
- Error handling with toast notifications
- Session-based user authentication
- Paginated data loading
- Caching loaded pages
- Loading state management
- Error boundary handling
- Efficient re-rendering with memoization
- Node.js 18+
- PostgreSQL database
- NextAuth.js configuration
-
Clone the repository:
git clone https://github.com/yourusername/eventconnect.git cd eventconnect -
Install dependencies:
npm install
-
Set up the database:
npx prisma migrate dev
-
Start the development server:
npm run dev
-
Access the application at http://localhost:3000
- Visit the events page
- Browse through paginated event listings
- View event details by clicking on an event card
- Click "Join Now" on an available event
- For private events, enter the required PIN
- View real-time updates on participation status
- Create events with detailed information
- Set participant limits for private events
- Track event participation in real-time
The application can be deployed using Vercel:
- Push your code to a GitHub repository
- Import the project to Vercel
- Configure environment variables
- Deploy the application
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a new feature branch
- Submit a pull request with detailed description
This project is licensed under the MIT License - see the LICENSE file for details.
