A comprehensive event management platform connecting event organizers with professional staff (photographers, videographers, security, etc.).
- Staff Portal: Browse jobs, manage applications, track earnings, generate QR codes for event check-in
- Organizer Dashboard: Post jobs, find talent, manage events, track attendance, process payments
- Real-time Wallet: Transaction tracking, earnings charts, withdraw funds
- Manual Location Matching: Flexible location-based job search
- Profile Management: Upload photos, videos, and manage professional profiles
- Backend: Django 5.2.7
- Database: SQLite (development), PostgreSQL-ready (production)
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Additional: Python-dotenv for environment management
- Python 3.8+
- pip
- Git
-
Clone the repository
git clone https://github.com/indoreshivam2006/EventFlex.git cd EventFlex -
Create a virtual environment
python -m venv env # Windows .\env\Scripts\activate # macOS/Linux source env/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
# Copy the example env file cp .env.example EventFlex/.env # Edit EventFlex/.env and update the values: # - Generate a new SECRET_KEY for production # - Configure email settings if needed # - Update database settings for production
-
Run database migrations
python manage.py makemigrations python manage.py migrate
-
Create a superuser (optional)
python manage.py createsuperuser
-
Populate sample data (optional)
python manage.py populate_data
-
Run the development server
python manage.py runserver
-
Access the application
- Homepage: http://localhost:8000/
- Staff Portal: http://localhost:8000/staff-portal/
- Organizer Dashboard: http://localhost:8000/organizer-dashboard/
- Admin Panel: http://localhost:8000/admin/
Key environment variables (see .env.example for full list):
| Variable | Description | Default |
|---|---|---|
SECRET_KEY |
Django secret key | Auto-generated |
DEBUG |
Debug mode | True |
ALLOWED_HOSTS |
Allowed host domains | localhost,127.0.0.1 |
DATABASE_ENGINE |
Database backend | django.db.backends.sqlite3 |
EMAIL_BACKEND |
Email backend | console |
EventFlex/
├── EventFlex/ # Project settings
│ ├── settings.py # Django settings (loads from .env)
│ ├── urls.py # Main URL routing
│ └── .env # Environment variables (not in git)
├── EventFlex_app/ # Main application
│ ├── models.py # Database models
│ ├── views.py # View functions & API endpoints
│ ├── urls.py # App URL routing
│ ├── templates/ # HTML templates
│ ├── static/ # CSS, JS, images
│ └── management/ # Custom commands
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore rules
└── manage.py # Django management script
/api/withdraw/- Withdraw funds from wallet/api/add-funds/- Add funds to wallet/api/upload-photo/- Upload profile photo/api/upload-video/- Upload video introduction/api/send-message/- Send messages/api/track-attendance/- Track event attendance/api/download-report/- Download event reports/api/release-payment/- Release payment to staff/api/save-profile/- Save profile updates
- Generate a new
SECRET_KEY(never use the default) - Set
DEBUG=False - Configure proper
ALLOWED_HOSTS - Use PostgreSQL or MySQL instead of SQLite
- Enable HTTPS and security headers
- Set up proper email backend (SMTP)
- Configure static file serving with WhiteNoise or CDN
- Never commit
.envfile to version control
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
For issues and questions, please open an issue on GitHub.
Built with ❤️ by the EventFlex Team