// readme

Raspberry Pi Foundation Code Editor API

The editor API is a Rails monolith and is hosted at editor-api.raspberrypi.org. Through the combination of a REST interface and a GraphQL API, it provides mechanisms for:

  • Session management
  • User auth (delegated to Raspberry Pi Accounts / Open ID Connect) and permissions (managed using the cancancan gem)
  • Persistence of projects, including code files, data, images and metadata
  • Management of schools, school classes, lessons, teachers and students for Code Editor for Education (CEfE)

Getting Started

Initial Setup

Copy the .env.example file into a .env file.

From the project directory build the app using docker:

docker-compose build

Set up the database:

docker compose run --rm api rails db:setup

Running the app

Start the application and its dependencies via docker:

docker-compose up

Using the dev-container

There is a dedicated image called dev-container, and the easiest way to use this is to use the override:

cp docker-compose.override.yml.example docker-compose.override.yml

Nowโ€ฆ