Event Horizon is a next-generation event management platform designed with a futuristic "Command Terminal" aesthetic. It enables seamless mission planning (event creation), crew assembly (registration), and status tracking.
- Mission Control: Organizers can create events with custom registration protocols (custom questions).
- Crew Management:
- Dynamic waitlisting system.
- Approval/Cancellation workflows.
- Email notifications (Console backend).
- User Dashboard:
- Command Logs: Manage events you are hosting.
- Mission Assignments: Track status of events you are attending.
- Search & Navigation: Filter missions by sector (location) or codename (title).
- Flexible Database Support: SQLite (default), PostgreSQL, MySQL via
DATABASE_URLenvironment variable. - S3-Compatible Storage: Support for AWS S3, MinIO, DigitalOcean Spaces, and Cloudflare R2.
-
Clone the frequency:
git clone https://github.com/yourusername/EventHorizon.git cd EventHorizon -
Run build script:
./build.sh
This automatically installs
uvand all dependencies. -
Initialize Systems: Run the interactive setup script to configure the environment:
uv run init_project.py
-
Launch Sequence:
uv run python manage.py runserver
-
Access Terminal: Open
http://127.0.0.1:8000in your browser.
-
Clone the frequency:
git clone https://github.com/yourusername/EventHorizon.git cd EventHorizon -
Install
uv:# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-
Install Dependencies:
uv sync npm install # For Tailwind CSS npm run build:css -
Initialize Systems:
python init_project.py
-
Launch Sequence:
uv run python manage.py runserver
-
Access Terminal: Open
http://127.0.0.1:8000in your browser.
Event Horizon is configured via environment variables in .env:
Database: Use DATABASE_URL to connect to PostgreSQL or MySQL:
# PostgreSQL
DATABASE_URL=postgresql://user:password@localhost:5432/eventhorizon
# MySQL
DATABASE_URL=mysql://user:password@localhost:3306/eventhorizonDefaults to SQLite if not set. See Database Configuration for details.
Storage: Configure S3-compatible storage for media files:
STORAGE_BACKEND=s3 # or 'minio', 'local'
AWS_ACCESS_KEY_ID=your-key
AWS_SECRET_ACCESS_KEY=your-secret
AWS_STORAGE_BUCKET_NAME=your-bucketFor complete configuration options, see Configuration Guide.
Transmission lines are open! We welcome contributions from the community.
Before contributing, please:
- Read our Contributing Guide for detailed guidelines
- Review our code style and testing requirements
- Understand that all contributions will be licensed under GPL-3.0
Quick start for contributors:
# Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/EventHorizon.git
# Set up development environment
./build.sh
python init_project.py
# Create a feature branch
git checkout -b feature/your-feature-name
# Make changes, test, and submit a PRSee CONTRIBUTING.md for the complete contribution process.
Event Horizon is free and open source software licensed under the GNU General Public License v3.0 (GPL-3.0).
You are free to:
- Use the software for any purpose
- Study how the program works and modify it
- Share copies of the software
- Distribute your modified versions
Under these conditions:
- Source code availability: If you distribute the software, you must make the source code available
- Same license: Derivative works must be licensed under GPL-3.0
- State changes: You must document modifications you make
- No warranty: The software is provided "as is" without warranty
- Copyleft: GPL-3.0 is a "copyleft" license, ensuring the software and its derivatives remain free
- Commercial use: You can use Event Horizon commercially, but must comply with GPL-3.0 terms
- Dependencies: All dependencies are GPL-3.0 compatible (see DEPENDENCIES.md)
- Contributing: By contributing, you agree to license your contributions under GPL-3.0
- LICENSE - Full GPL-3.0 license text
- DEPENDENCIES.md - Third-party dependency licenses
- CONTRIBUTING.md - Contributor license agreement
For more information about GPL-3.0, visit: