CodeClash is a modern, interactive coding contest platform built with Next.js that enables developers to participate in competitive programming challenges. Whether you're looking to improve your coding skills, prepare for technical interviews, or compete with peers, CodeClash provides a feature-rich environment for all your competitive programming needs.
- Advanced Contest Management: Create, join, and manage coding contests with flexible configuration options
- Public & Private Contests: Host both public contests for everyone and private contests for your organization or friends
- Contest Templates: Save time with reusable contest templates for recurring events
- Multiple Contest Formats: Support for various contest formats including ACM-ICPC style, CodeForces style, and custom formats
- Real-time Contest Participation: Engage in live contests with real-time leaderboards and updates
- Interactive Problem Solving: Solve problems in an intuitive coding environment with syntax highlighting
- Multi-language Support: Code in a variety of programming languages including Python, JavaScript, Java, C++, and more
- Automatic Code Evaluation: Instant feedback with our robust testing system against various test cases
- Personalized Dashboard: Track your progress, upcoming contests, and past performances
- Rich Markdown Content: Enjoy enhanced readability with rich content display for contest descriptions, rules, scoring systems, and prizes
- Smart Contest Timer: Countdown functionality that automatically redirects participants when contests begin
- Responsive Design: Seamless experience across desktop, tablet, and mobile devices
- Dark Mode: Eye-friendly dark-themed interface for optimal coding experience
- Global Leaderboards: Compete globally and track your standing in the community
- Rating System: Advance through rating tiers as you win contests and solve problems
- Performance Analytics: Gain insights into your strengths and weaknesses with detailed performance metrics
- Achievement System: Earn badges and achievements as you reach milestones
- Frontend: Next.js, React, TypeScript
- Styling: Tailwind CSS, Custom CSS
- State Management: React Context API / Redux
- Authentication: JWT-based authentication
- Markdown: React-Markdown with remark-gfm for GitHub-flavored markdown
- Notifications: React Hot Toast
- Deployment: Vercel/Netlify
CodeClash follows a modern microservices architecture:
- Client-side rendering for dynamic user interfaces
- API-first design with RESTful endpoints
- Serverless functions for backend operations
- Node.js (v14 or newer)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/yourusername/codeclash.git cd codeclash -
Install dependencies
npm install # or yarn install -
Set up environment variables
cp .env.example .env.local -
Start the development server
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser
- Browse available contests on the homepage
- Click on a contest to view details
- Register for the contest
- Wait for the contest to start (a countdown timer will be displayed)
- Once the contest begins, you'll be automatically redirected to the contest arena
- Solve problems and submit solutions before the contest ends
- Navigate to the contest creation page and at the URL add /create-contest?key=sdc
- Fill in contest details, including title, description, rules, scoring system, and prizes
- Set the start and end times
- Add problems to the contest with appropriate test cases
- Configure scoring algorithms and visibility settings
- Publish the contest and share with participants
- Integrated code editor with themes and preferences
- Team-based contests and collaborative coding
- AI-assisted problem recommendations
- Code plagiarism detection
- Mobile application for on-the-go participation
We welcome contributions from the community! To contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read CONTRIBUTING.md for detailed guidelines.
Q: Why can't I access a contest?
A: Ensure you've registered for the contest and that it has started. Private contests require an invitation.
Q: How is my rating calculated?
A: Ratings are calculated based on your performance relative to other participants, problem difficulty, and solving speed.
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the React framework
- Tailwind CSS for styling
- Open source community for various dependencies
For questions or support, please reach out to [email protected]
Made with ❤️ by the Kartikay

