Skip to content

osrsyndicate/opencode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Problem Statement: Build an Online Open Code Editor Platform

Description

You are tasked with implementing the core logic of an online open code editor platform used to evaluate a candidate’s programming skills under time-restricted and controlled conditions.

The platform supports two primary user roles: Admin and Candidate.

Your Task

Implement a simulation for the Candidate and Admin workflows with the following behaviors:


Candidate Workflow (Simulated)

  1. Landing Page

    • Displays test instructions (if any) and a Start Test button. (Refer to mockups for finalized details).
    • This page sets the context for the test and may include guidelines or disclaimers.
    • On clicking 'Start Test', the countdown timer is initiated and the candidate is taken to the test interface.
  2. Editor/Test Page

    • Show a problem statement in markdown format (non-editable).
      • Ensures the candidate cannot alter or manipulate the problem definition during the test.
    • Provide a code editor:
      • Supports manual code typing and proper indentation.
      • Disables clipboard paste events to prevent copying from external sources, encouraging originality.
      • Tracks tab/window changes and logs them to detect focus shifts which may suggest cheating attempts.
    • Provide a console to:
      • Run the code against predefined test cases on the server.
      • Display output, errors, and pass/fail status of test cases.
    • A countdown timer enforces the test duration strictly.
      • Once time expires, the code editor and console are locked.
    • Auto-submits the candidate's code and records final results once the timer ends.
  3. Finished Page

    • Displays a “Thank you” message to indicate the end of the test.
    • All interactions are disabled, and the user can no longer view or edit their code.

Admin Workflow (Simulated)

  1. Login Panel

    • Admin logs in securely to access the admin panel for test management.
    • Authentication ensures only authorized personnel can modify test content or access candidate data.
  2. Admin Panel

    • Admin can perform the following actions:
      • Create a new test with configurable options:
        • A clearly written problem statement in Markdown for formatting flexibility and readability.
        • A configurable test duration (e.g., 15, 30, 45 minutes).
        • Input/output test cases including both sample (visible to the candidate) and hidden (used for final evaluation) in JSON(preferably).
      • Monitor candidate activity logs:
        • Logs include tab switches, code run events, and auto-submission time to track behaviors.
      • Access results after test completion:
        • Review submitted code and output from candidates.
        • Generate reports if needed.(Optional)
      • Manage language support:
        • Enable or disable supported programming languages (e.g., Python, Java, Go) as required.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published