diff --git a/.gitignore b/.gitignore
index 295c86e572..b7ebccf366 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,6 +17,7 @@ tags
/experimental/build
/docs/build/doctrees
/test-utils/build
+/client/build
# gradle's buildSrc build/
/buildSrc/build/
diff --git a/.idea/modules.xml b/.idea/modules.xml
index e284ae5b60..df2780c199 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -5,6 +5,9 @@
+
+
+
diff --git a/client/build.gradle b/client/build.gradle
new file mode 100644
index 0000000000..5fe9e7006b
--- /dev/null
+++ b/client/build.gradle
@@ -0,0 +1,53 @@
+apply plugin: 'kotlin'
+apply plugin: QuasarPlugin
+
+repositories {
+ mavenLocal()
+ mavenCentral()
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+ jcenter()
+ maven {
+ url 'https://dl.bintray.com/kotlin/exposed'
+ }
+}
+
+
+//noinspection GroovyAssignabilityCheck
+configurations {
+
+ // we don't want isolated.jar in classPath, since we want to test jar being dynamically loaded as an attachment
+ runtime.exclude module: 'isolated'
+}
+
+sourceSets {
+ test {
+ resources {
+ srcDir "../config/test"
+ }
+ }
+}
+
+// To find potential version conflicts, run "gradle htmlDependencyReport" and then look in
+// build/reports/project/dependencies/index.html for green highlighted parts of the tree.
+
+dependencies {
+ compile project(':node')
+
+ // Log4J: logging framework (with SLF4J bindings)
+ compile "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}"
+ compile "org.apache.logging.log4j:log4j-core:${log4j_version}"
+
+ compile "com.google.guava:guava:19.0"
+
+ // ReactFX: Functional reactive UI programming.
+ compile 'org.reactfx:reactfx:2.0-M5'
+ compile 'org.fxmisc.easybind:easybind:1.0.3'
+
+ // Unit testing helpers.
+ testCompile 'junit:junit:4.12'
+ testCompile "org.assertj:assertj-core:${assertj_version}"
+}
+
+quasarScan.dependsOn('classes', ':core:classes', ':contracts:classes')
diff --git a/settings.gradle b/settings.gradle
index ee2860a7e5..43a8b99cde 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -3,6 +3,7 @@ include 'contracts'
include 'contracts:isolated'
include 'core'
include 'node'
+include 'client'
include 'experimental'
include 'test-utils'