Cloud Development Environment (CDE)

A GIF of the Cloud IDE being demonstrated

To make it easier to jump into coding without the fuss of setting up your environment, our Cloud Development Environment allows you to skip to coding with a press of a button. Simply start any challenge and click on the Open in CDE button on the top right.

Open CDE Button

Using the Cloud Development Environment

Opening the Integrated Terminal

To access the terminal, right-click in the file space area and select 'Open Integrated Terminal'. This action mirrors the process used in VS Code.

Once the terminal has been opened, you will find it on the bottom of the screen. There are detailed instructions given as well as commands on how to run the app and tests.

Opening the Integrated Terminal

Locating The Challenge Code

The location of the challenge files varies by programming language. Commonly, Python projects utilize main.py or app.py, while Java projects may use Application.java.

Files are typically stored within the src directory, but project structure can differ. Navigate within the CDE to locate your specific project files.

Python App Folder

Running the Application

Instructions for running your application are displayed in the terminal. To run the application, use the command make run for a majority of languages.

For JavaScript and TypeScript projects, npm run might be more suitable. Regardless, it is best to refer to the instructions given in the terminal.

When you open a new terminal, the commands to run and test the app is mentioned within the terminal.

Accessing The App

Many of the challenges consist of web applications or API and are hosted on a port.

When you do make run, the app port is shown in the terminal along with a helpful VSCode popup that let’s you Open in Browser

App Running Terminal

You can find the running apps via the Ports tab from your terminal. You can choose to open them in browser by clicking on the "globe" icon.

Ports Tab

Managing Terminals

You can have multiple terminals open, to create a new instance simply click on the + icon on the top right of your integrated terminal.

New Terminal

You can then manage your terminals accordingly, whether you wish to split the view or delete them, you can do so from the terminals section.

Manage Terminals

Running Tests

To execute standard tests, use make test or npm test depending on the instructions given in the terminal. For conducting security tests, the command make securitytest or equivalent is available.

The tests allow you to locally verify the security and functionality of your code changes before pushing them to be tested on the server. The local tests are faster and hence give you an early feedback.

Usability tests will pass by default whereas Security tests will fail by default.
For higher difficulty challenges, some security tests may not be provided in your repository.
Usability Tests
Security Tests

Making Changes and Using Git

After modifying your code to address the challenge, you’ll need to push these changes to the upstream repository for testing. Use the following git commands within the integrated terminal:

  • git add . to stage your changes.

  • git commit -m "security fix" to commit your changes with a message.

  • git push to push your changes to the upstream repository.

Navigate to the challenge tab in order to view the tests output. required to keep the window open.

Once you pass the challenge, close the CDE tab.