Skip to content

dinesh-2047/Algoryth

πŸš€ Algoryth

A modern, beautiful coding practice platform for competitive programming and algorithm challenges. Practice coding problems, prepare for contests, and improve your problem-solving skills with an intuitive interface.

Live Demo: algoryth.vercel.app

Algoryth React Tailwind CSS License

✨ Features

🎨 Beautiful UI/UX

  • Dark & Light Theme: Seamlessly switch between dark and light modes with a beautiful, consistent design
  • Modern Design: Clean, minimalist interface with warm cream tones in light mode and sleek black/grey in dark mode
  • Responsive Layout: Fully responsive design that works perfectly on all devices

πŸ“Έ UI Preview

Home (Light) Home (Dark)
Home Light Home Dark
Problems List Workspace / Code Editor
Problems List Workspace

πŸ’» Code Editor

  • Monaco Editor Integration: Full-featured code editor powered by Monaco (VS Code editor)
  • Syntax Highlighting: Support for multiple programming languages (JavaScript, TypeScript, C++, Python - coming soon)
  • Theme Sync: Editor theme automatically syncs with your app theme preference
  • Split Pane Layout: Resizable panels for optimal coding experience

πŸ“š Problem Management

  • Problem Browser: Browse through a curated list of coding problems
  • Difficulty Levels: Problems categorized by difficulty (Easy, Medium, Hard)
  • Tags & Filtering: Filter problems by tags and difficulty
  • Problem Details: Comprehensive problem statements with examples, constraints, and test cases

🎯 Additional Features

  • Search Functionality: Quick search for problems
  • User Statistics: Track your rating and contributions
  • Contest Information: Stay updated with ongoing contests
  • Recommended Problems: Get started with curated problem recommendations

πŸ› οΈ Tech Stack

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository

    git clone https://github.com/dinesh-2047/Algoryth.git
    cd Algoryth
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  4. Open your browser

    Navigate to http://localhost:3000 to see the application.

Build for Production

npm run build
npm start

πŸ“ Project Structure

Algoryth/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”‚   β”‚   β”œβ”€β”€ health/        # Health check endpoint
β”‚   β”‚   β”‚   └── problems/       # Problems API endpoints
β”‚   β”‚   β”œβ”€β”€ problems/          # Problems pages
β”‚   β”‚   β”‚   β”œβ”€β”€ [slug]/       # Dynamic problem detail page
β”‚   β”‚   β”‚   └── page.jsx       # Problems list page
β”‚   β”‚   β”œβ”€β”€ layout.jsx         # Root layout with theme toggle
β”‚   β”‚   β”œβ”€β”€ page.jsx           # Home page
β”‚   β”‚   └── globals.css        # Global styles & theme config
β”‚   β”œβ”€β”€ components/            # React components
β”‚   β”‚   β”œβ”€β”€ CodeEditor.jsx     # Monaco editor wrapper
β”‚   β”‚   β”œβ”€β”€ ProblemWorkspace.jsx  # Problem detail workspace
β”‚   β”‚   β”œβ”€β”€ SplitPane.jsx     # Resizable split pane
β”‚   β”‚   └── ThemeToggle.jsx   # Dark/light theme toggle
β”‚   └── lib/                   # Utility functions
β”‚       └── problems.js       # Problem data & helpers
β”œβ”€β”€ public/                    # Static assets
β”œβ”€β”€ package.json
β”œβ”€β”€ next.config.mjs
β”œβ”€β”€ tailwind.config.js
└── README.md

🎨 Theme System

Algoryth features a sophisticated theme system:

  • Light Mode: Warm cream/orange tones (bg-amber-50, bg-amber-100) for a comfortable, eye-friendly experience
  • Dark Mode: Pure black background (bg-black) with dark grey cards (bg-zinc-900, bg-zinc-950) for a modern, sleek look
  • Theme Persistence: Your theme preference is saved in localStorage
  • System Preference: Automatically detects and applies your system theme preference

🀝 Contributing

We welcome contributions! Here's how to get started:

Quick Start

  1. Fork & Clone

    git clone https://github.com/YOUR_USERNAME/Algoryth.git
    cd Algoryth && npm install
  2. Create Branch

    git checkout -b feature/your-feature-name
  3. Make Changes

    • Follow existing code style
    • Ensure both light/dark themes work
    • Test your changes
  4. Commit & Push

    git commit -m "feat: add feature description"
    git push origin feature/your-feature-name
  5. Open Pull Request on GitHub with a clear description

Guidelines

  • Commit Format: Use conventional commits (feat:, fix:, docs:, etc.)
  • Code Style: Follow React/Next.js best practices, use Tailwind CSS
  • Theme Support: All components must work in light and dark modes
  • Testing: Test your changes before submitting

What to Contribute

  • πŸ› Bug fixes
  • ✨ New features
  • πŸ“š Documentation improvements
  • 🎨 UI/UX enhancements
  • ⚑ Performance optimizations

Check Issues for ideas or open a new one to discuss your contribution!

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

πŸ› Known Issues

Check out our Issues page for known bugs and feature requests.

πŸ“§ Support

For support, please open an issue on GitHub or check our Support Guide.


Made with ❀️ by the Algoryth team

Star ⭐ this repo if you find it helpful!

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 27