Skip to content

Latest commit

 

History

History

playground

Playground

The Beam Playground is a web application to run Beam code snippets in a modern browser. This directory holds code to build, test, and deploy the frontend and backend services.

Development Requirements

The following requirements are needed for development, testing, and deploying.

Available Gradle Tasks

Perform overall pre-commit checks

cd beam
./gradlew playgroundPrecommit

To see available gradle tasks for playground:

cd beam
./gradlew playground:tasks

Re-generate protobuf

cd beam
./gradlew playground:generateProto

Run local environment using docker compose

cd beam
./gradlew playground:backend:containers:router:dockerComposeLocalUp

Stop containers and removes containers created by dockerComposeLocalUp

cd beam
./gradlew playground:backend:containers:router:dockerComposeLocalDown

Run the method to remove unused code snippets from the Cloud Datastore. Unused snippets are snippets that are out of date. If the last visited date property less or equals than the current date minus dayDiff parameter then a snippet is out of date

cd beam
./gradlew playground:backend:removeUnusedSnippet -DdayDiff={int} -DprojectId={string}

Run playground tests without cache

cd beam
 ./gradlew playground:backend:testWithoutCache

Deployment

See terraform for details on how to build and deploy the application and its dependent infrastructure.