Support SecDim Play Cloud Development Environment (CDE) Cloud Development Environment (CDE) 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. 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. 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. 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 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. 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. 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. 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. 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.