A comprehensive event and food stall management system designed for FAST University. This web application allows users to manage events, registrations, food stalls, and generate certificates for attendees.
- Event Creation & Management: Create, edit, publish, and manage events
- Event Categories: Organize events into categories (Hackathon, Concert, Sports, Workshop, Seminar)
- Registration System: Users can register for events with approval workflow
- Event Details: Comprehensive event information including dates, location, and capacity
- Registration Management: Track and manage event registrations
- Stall Creation: Create and manage food stalls for events
- Booking System: Users can book food stalls with approval workflow
- Stall Approval: Admin/Organizer approval system for stalls
- Booking Management: Track and manage stall bookings
- Role-based Access Control: Four user roles (Admin, Organizer, Student, Outsider)
- User Registration: Secure user registration with role assignment
- Profile Management: User profile management system
- Authentication: Secure login/logout system
- Certificate Generation: Automatic certificate generation for attended events
- Certificate Download: Users can download their certificates
- Certificate Management: View and manage issued certificates
- User Management: Manage all users in the system
- Event Oversight: Admin can manage all events regardless of organizer
- Stall Oversight: Admin can manage all food stalls
- Category Management: Manage event categories
- Registration Oversight: Manage all event registrations
- Backend: PHP 7.4+
- Database: MySQL 5.7+
- Frontend: HTML5, CSS3, Bootstrap 5, JavaScript
- PDF Generation: FPDF library for certificate generation
- Security: Password hashing, SQL injection prevention, XSS protection
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache/Nginx)
- PHP extensions: mysqli, gd, mbstring
-
Clone the repository
git clone <repository-url> cd Nascon-management-system
-
Database Setup
- Create a MySQL database named
fast_event_management - Import the database schema:
mysql -u root -p fast_event_management < schema.sql - Create a MySQL database named
-
Configuration
- Update database configuration in
config/database.php:
define('DB_HOST', 'localhost'); define('DB_USER', 'your_username'); define('DB_PASS', 'your_password'); define('DB_NAME', 'fast_event_management');
- Update database configuration in
-
Web Server Setup
- Place the project files in your web server's document root
- Ensure proper permissions for the
images/directory - Configure your web server to serve PHP files
-
Default Login Credentials
- Admin:
admin@fast.edu.pk/admin123 - Organizer:
organizer@fast.edu.pk/organizer123 - Student:
student@fast.edu.pk/student123 - Outsider:
outsider@fast.edu.pk/outsider123
- Admin:
Nascon-management-system/
βββ config/
β βββ database.php # Database configuration
βββ includes/
β βββ functions.php # Utility functions
β βββ header.php # Common header
β βββ footer.php # Common footer
βββ fpdf/
β βββ fpdf.php # PDF generation library
βββ images/
β βββ fast.jpg # Application images
βββ create_event.php # Event creation form
βββ create_stall.php # Stall creation form
βββ edit_event.php # Event editing form
βββ edit_stall.php # Stall editing form
βββ event_details.php # Event details page
βββ events.php # Events listing page
βββ generate_certificate.php # Certificate generation
βββ index.php # Homepage
βββ login.php # User login
βββ logout.php # User logout
βββ manage_categories.php # Category management
βββ manage_events.php # Event management
βββ manage_registrations.php # Registration management
βββ manage_stall_bookings.php # Stall booking management
βββ manage_stalls.php # Stall management
βββ manage_users.php # User management
βββ my_certificates.php # User certificates
βββ my_events.php # User's events
βββ my_stalls.php # User's stalls
βββ profile.php # User profile
βββ register.php # User registration
βββ stall_details.php # Stall details page
βββ stalls.php # Stalls listing page
βββ schema.sql # Database schema
- Full system access
- Manage all users, events, and stalls
- Approve/reject registrations and bookings
- Manage event categories
- View system-wide statistics
- Create and manage events
- Create and manage food stalls
- Manage event registrations
- Approve/reject stall bookings
- Generate certificates
- Register for events
- Book food stalls
- View personal dashboard
- Download certificates
- Manage profile
- Register for events
- Book food stalls
- View personal dashboard
- Download certificates
- Manage profile
- Password Hashing: All passwords are hashed using PHP's
password_hash() - SQL Injection Prevention: Prepared statements used throughout
- XSS Protection: Input sanitization and output escaping
- Session Management: Secure session handling
- Role-based Access Control: Proper authorization checks
- Login with admin credentials
- Navigate to "Manage Users" to oversee all users
- Use "Manage Events" to view and manage all events
- Use "Manage Stalls" to approve and manage food stalls
- Access "Manage Categories" to manage event categories
- Login with organizer credentials
- Create events using "Create Event"
- Manage your events in "Manage Events"
- Create food stalls using "Create Stall"
- Manage registrations and bookings
- Register for an account or login
- Browse and register for events
- Book food stalls
- View your dashboard with upcoming events
- Download certificates after attending events
Edit config/database.php to modify database connection settings.
Default categories can be modified in the database or through the admin interface.
Roles are defined in the roles table and can be extended as needed.
-
Database Connection Error
- Check database credentials in
config/database.php - Ensure MySQL server is running
- Verify database exists and is accessible
- Check database credentials in
-
Permission Denied
- Check file permissions on the project directory
- Ensure web server has read access to all files
- Verify
images/directory is writable
-
Session Issues
- Check PHP session configuration
- Ensure session directory is writable
- Verify session cookies are enabled
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please contact the development team or create an issue in the repository.
- v1.0.0: Initial release with basic event and stall management
- v1.1.0: Added certificate generation system
- v1.2.0: Enhanced user management and role-based access control
Note: This system is designed specifically for University's NASCON event management needs. Customization may be required for other institutions.