A comprehensive Laravel-based event management system with user registration, admin controls, Stripe payment integration, and flexible content management.
- Create and manage events with detailed information
- Set capacity limits and track registrations
- Automatic capacity management
- Event status tracking (available/full)
- Public event registration with form validation
- Automatic email confirmations
- Registration management and tracking
- Check-in system with QR codes
- Stripe payment processing for paid events
- Secure checkout sessions
- Payment status tracking
- Manual refund processing with email notifications
- Role-based access control (Super Admin vs Admin)
- User management system
- Registration deletion with notification system
- Comprehensive admin dashboard
- Registration confirmations for attendees
- Admin alerts for registration cancellations
- Detailed Stripe reference information for manual refunds
- Professional email templates
- Flexible homepage content blocks
- Hero sections with customizable content
- Text content with rich text editing
- Video embed support (YouTube/Vimeo)
- Image blocks with captions
- Events listing blocks
- Custom HTML blocks for developers
- Raw HTML and CSS input for maximum flexibility
- Professional code editor interface
- Security warnings and best practices
- Tailwind CSS framework integration
- Responsive design support
- Backend: Laravel 12
- Frontend: Blade templating with Tailwind CSS
- Database: MySQL
- Payment: Stripe integration
- Email: Laravel Mail system
- Authentication: Laravel Breeze
-
Clone the repository
git clone https://github.com/felpabustan/event-management-system.git cd event-management-system -
Install dependencies
composer install npm install
-
Environment setup
cp .env.example .env php artisan key:generate
-
Database setup
# Create a MySQL database first, then: php artisan migrate php artisan db:seed -
Build assets
npm run build
-
Start the server
php artisan serve
# Application
APP_NAME="Event Management System"
APP_URL=http://localhost
# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
# Mail Configuration
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
# Stripe Configuration
STRIPE_KEY=your-stripe-public-key
STRIPE_SECRET=your-stripe-secret-key-
Create MySQL Database
CREATE DATABASE event_management_system;
-
Update Environment Variables Update your
.envfile with your MySQL credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=event_management_system DB_USERNAME=your_mysql_username DB_PASSWORD=your_mysql_password
-
Run Migrations and Seeders
php artisan migrate php artisan db:seed
Create a super admin user:
php artisan db:seed --class=AdminUserSeederDefault admin credentials:
- Email: admin@example.com
- Password: password
- Navigate to
/login - Use admin credentials
- Access admin features through the dashboard
- Go to Admin β Content Blocks
- Create different types of content blocks:
- Hero sections
- Text content
- Video embeds
- Image blocks
- Events listings
- Custom HTML blocks
- Create events with all necessary details
- Set capacity and pricing
- Monitor registrations
- Manage check-ins
When registrations are cancelled:
- Registrant receives cancellation email
- Admins receive detailed refund instructions
- Process refunds manually in Stripe Dashboard
The system supports custom HTML content blocks for developers:
<!-- Example HTML Content -->
<div class="custom-section bg-gray-100 py-16">
<div class="max-w-6xl mx-auto px-4">
<h2 class="text-4xl font-bold text-center mb-8">Custom Features</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<!-- Your content here -->
</div>
</div>
</div>/* Example CSS Styling */
.custom-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}See docs/HTML_CONTENT_BLOCKS.md for detailed documentation.
- Role-based access control
- CSRF protection
- Input validation and sanitization
- Secure payment processing
- HTML content security warnings
GET /- Homepage with content blocksGET /events- Public events listingGET /events/{event}- Event detailsPOST /events/{event}/register- Event registration
GET /dashboard- Admin dashboardGET /admin/events- Event managementGET /admin/users- User management (Super Admin only)GET /admin/homepage-content- Content block management
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is open-sourced software licensed under the MIT license.
For technical support or questions:
- Check the documentation in the
docs/directory - Review the code comments for implementation details
- Test features in a development environment
- Initial release with core event management features
- User registration and payment processing
- Admin panel with role-based access
- Content management system
- Custom HTML content blocks
- Email notification system