Skip to content

CodeRiot is a VS Code‑inspired desktop app for coding practice with AI‑generated problems, a built‑in editor, and hybrid solution checking

License

Notifications You must be signed in to change notification settings

fumioryoto/coderiot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CodeRiot Desktop

CodeRiot is a beginner-friendly, VS Code-inspired desktop app for coding practice with AI-generated problems, a Monaco editor, and hybrid solution checking.

Version Platform License

CodeRiot UI

Features

  • AI problem generation with language, level, topics, and difficulty presets
  • Monaco editor workspace
  • Hybrid checking: local rules + AI verdict
  • Profiles with autosave + JSON import/export
  • Theme switcher and compact mode

Requirements

  • Node.js 18+ (recommended 20+)
  • Windows (tested), macOS/Linux should work with Electron

Quick Start

cd d:\Learning project\app
npm install
npm run start

Backend Mode (Recommended)

Run the local backend so your API key stays off the desktop client.

cd d:\Learning project\server
npm install
copy .env.example .env
# edit .env with your OpenAI API key
npm run start

In the app sidebar:

  • Set Backend URL to http://localhost:8787
  • Keep Use Backend enabled

Direct API Mode (Not Recommended)

If you do not use the backend, you can enter an API key directly in the app sidebar. This is less secure because the key lives in the desktop client.

Using the App

  1. Select a language and level.
  2. Optionally pick difficulty and topics.
  3. Click Generate Problem.
  4. Write your solution in the editor.
  5. Click Check Solution to see:
    • Local checklist results
    • AI verdict (if enabled)

Profiles & Progress

  • Create multiple profiles from the sidebar.
  • Each profile saves its own progress automatically.
  • Upload JSON restores a previous session into the current profile.
  • Download JSON exports your current session to a file.

Solution Checking

  • HTML/CSS checks use tags/attributes and inferred rules.
  • JavaScript can use a test script that returns an array of { name, pass, message }.
  • Python uses keyword checks and AI verdict for semantics.

Repository Structure

app/       # Electron desktop app (UI)
server/    # Local backend for OpenAI calls
assets/    # Repo assets (screenshots, etc.)

Contributing

See CONTRIBUTING.md for setup and contribution guidelines.

Release Guide

(1) Update versions

  • app/package.json -> bump version
  • server/package.json -> bump version (if needed)

(2) Run the app

cd d:\Learning project\app
npm install
npm run start

(3) Build installers (recommended: electron-builder)

If you want distributable installers, add a builder:

cd d:\Learning project\app
npm install --save-dev electron-builder

Add to app/package.json:

{
  "scripts": {
    "dist": "electron-builder"
  }
}

Then build:

npm run dist

Artifacts will appear in app/dist/.

(4) Tag and publish a release

git tag v0.1.0
git push origin v0.1.0

Security Notes

  • Keep your OpenAI API key in the backend .env.

License

MIT - see LICENSE.

FAQ

Why is the AI verdict missing?
Make sure your backend is running and Use Backend is enabled, or enter a valid API key + model.

Can I use this without the backend?
Yes, but it is less secure because the API key is stored in the desktop client.

What models work best?
Use a model that supports structured outputs for reliable JSON verdicts.

About

CodeRiot is a VS Code‑inspired desktop app for coding practice with AI‑generated problems, a built‑in editor, and hybrid solution checking

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •