About

CodingQuest is an app designed to practice and improve problem-solving and coding skills through a diverse set of challenges. The platform's challenges are structured by difficulty and span a range of topics, including arrays, dynamic programming, hashing, linked lists, SQL, strings, trees, and other algorithms like backtracking, breadth-first search, and depth-first search.

CodingQuest provides functionality for writing, and executing code in 37 different programming languages, including Python, Java, C++, JavaScript, and Go. The app allows solutions to be submitted in various formats, including pseudocode, which can then be analyzed and improved with feedback from an integrated chatbot.

The data of the CodingQuest challenges  are primarily sourced from the repository MTrajK/coding-problems, with additional challenges created for the SQL category.

CodingQuest is built with Next.js, a React framework that leverages server-side rendering and static site generation for performance and scalability. For styling, Tailwind CSS provides a utility-first approach for rapid and customizable UI development.

The in-browser coding experience uses the Monaco Editor for React, which provides a versatile and robust code editor environment. Code execution is performed by Judge0, an online code execution system that supports over 60 programming languages, enabling easy sandboxed compilation and execution. CodingQuest includes Pyodide, a WebAssembly-based Python runtime, enabling in-browser Python execution and access to scientific libraries like numpy and pandas, with seamless integration with Web APIs.

Another feature of CodingQuest is its chatbot assistant, powered by the OpenAI API. The chatbot offers real-time feedback, hints, and explanations, allowing users to analyze and refine their solutions or get guidance on tackling challenges. The source code of CodingQuest is available on GitHub.