An open-source terminal-style platform designed for conducting hackathons and CTFs (Capture The Flag) events in colleges. Built for GDG during the annual technical fest, this platform provides comprehensive authentication, team management, and event proctoring capabilities without the hassle of manual oversight.
- Immersive command-line experience in the browser
- Custom ASCII art and branding
- Interactive terminal commands and navigation
- Retro hacker aesthetic that appeals to developers
- Secure user registration and login
- Team-based authentication
- Multi-factor verification support
- Session management and security
- Hackathon Support - Complete team registration and project submission
- CTF Challenges - Built-in challenge management and scoring
- Real-time Leaderboards - Live scoring and ranking systems
- Automated Proctoring - Anti-cheating measures and monitoring
- Easy deployment for any college club
- Customizable branding and themes
- Multi-event support on single platform
- Admin dashboard for event organizers
- Built with TypeScript and Vite for type safety and speed
- Dockerized deployment for easy scaling
- Secure API endpoints with proper validation
- Real-time updates and notifications
This platform has been successfully used for:
- GDG IIIT Sricity - Annual technical fest hackathons
- Chakravyuh CTF - Cybersecurity competitions
- Multiple college-level programming contests
- Inter-college hackathon events
| Technology | Purpose |
|---|---|
| TypeScript | Type-safe frontend development |
| Vite | Fast build tool and dev server |
| Node.js | Backend runtime environment |
| Docker | Containerization and deployment |
| Custom API | Backend services and authentication |
| js-yaml | Configuration management |
| Terminal UI | Command-line interface simulation |
- Node.js (v18 or higher)
- npm or yarn package manager
- Docker (optional, for containerized deployment)
-
Clone the repository
git clone https://github.com/gdg-iiits/kurukshetra.git cd kurukshetra -
Install dependencies
npm install
-
Configure environment variables Create a
.envfile in the root directory:BASE_URL=http://localhost:7878 NODE_ENV=production API_KEY=your_api_key_here
-
Start development server
npm run dev
-
Open in browser Navigate to
http://localhost:5173
-
Build Docker image
docker build -t kurukshetra . -
Run container
docker run -p 3000:3000 kurukshetra
kurukshetra/
โโโ src/
โ โโโ css/
โ โ โโโ css-reset.css
โ โ โโโ style.css
โ โโโ main.ts # Main application logic
โ โโโ styles.ts # Terminal styling
โโโ res/ # Static resources
โโโ config.json # Configuration and content
โโโ index.html # Main HTML file
โโโ Dockerfile # Docker configuration
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
โโโ vite.config.ts # Vite build configuration
โโโ README.md
Update the terminal settings in config.json:
{
"title": "Your Event Name",
"hostname": "YourPlatform",
"colors": {
"background": "#000000",
"foreground": "#D6D5D4",
"prompt": {
"default": "#01A0E4",
"user": "#F7F7F7"
}
}
}- Replace ASCII art in
config.json - Update logos in the
res/directory - Modify color schemes in the configuration
- Customize terminal commands and responses
- Commands: Add new terminal commands in
main.ts - Challenges: Update challenge data in
config.json - Authentication: Modify auth flows in the TypeScript files
- Styling: Update CSS in
src/css/directory
The platform supports comprehensive hackathon management:
- Team Registration: Automated team formation and validation
- Project Submission: File uploads and version control
- Judging System: Scoring rubrics and evaluation workflows
- Real-time Updates: Live announcements and notifications
Perfect for cybersecurity competitions:
- Challenge Categories: Web, Crypto, Forensics, Reverse Engineering
- Dynamic Scoring: Points adjustment based on solve count
- Hint System: Progressive hints with point deductions
- Flag Validation: Automated answer checking
- Dashboard: Complete event oversight and analytics
- User Management: Participant registration and team oversight
- Challenge Upload: Easy challenge creation and deployment
- Live Monitoring: Real-time event statistics and leaderboards
- Authentication: Secure login with session management
- Input Validation: Comprehensive sanitization of user inputs
- Rate Limiting: Protection against brute force attacks
- Anti-Cheating: Multiple validation layers for submissions
- Audit Logs: Complete activity tracking for transparency
npm run build
# Deploy the dist/ folder to GitHub Pages# Build and run
docker build -t kurukshetra .
docker run -p 3000:3000 kurukshetraThe platform works seamlessly with:
- Vercel: Connect GitHub repo for automatic deployments
- Netlify: Drag and drop the build folder
- Heroku: Use the included Dockerfile
- AWS/GCP: Deploy as containerized application
The platform includes various interactive commands:
# Basic navigation
help # Show available commands
about # About the platform
events # List current events
# Authentication
login # User login
register # New user registration
logout # Sign out
# Event participation
join <event> # Join an event
submit # Submit solution/project
leaderboard # View current standings
challenges # List available challenges
# Admin commands (requires privileges)
admin # Access admin panel
stats # View event statistics
export # Export event dataThe template is fully responsive and includes:
- Touch-friendly navigation
- Optimized images for mobile
- Fast loading on slow connections
- Progressive Web App capabilities
- Secure payment processing
- Input validation and sanitization
- HTTPS enforcement
- Firebase security rules
- XSS protection
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- TEDx program for inspiration and guidelines
- React and Vite communities for excellent tools
- PhonePe for reliable payment infrastructure
- All contributors and users of this template
If you're using this template for your TEDx event and need help:
- ๐ง Email: support@tedxtemplate.com
- ๐ฌ Discord: Join our community
- ๐ Documentation: Full docs
- ๐ Issues: GitHub Issues
If this template helped you create an amazing TEDx event website, please:
- โญ Star this repository
- ๐ด Fork it for your own events
- ๐ฑ Share it with other TEDx organizers
- ๐ Consider sponsoring the project
Made with โค๏ธ for the TEDx community
Spreading ideas worth sharing, one website at a time.