diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000..3550a30
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/.gitignore b/.gitignore
index aade9cb..66cf725 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,140 +1,3 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional stylelint cache
-.stylelintcache
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variable files
-.env
-.env.*
-!.env.example
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# vuepress v2.x temp and cache directory
-.temp
-.cache
-
-# Sveltekit cache directory
-.svelte-kit/
-
-# vitepress build output
-**/.vitepress/dist
-
-# vitepress cache directory
-**/.vitepress/cache
-
-# Docusaurus cache and generated files
-.docusaurus
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# Firebase cache directory
-.firebase/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v3
-.pnp.*
-.yarn/*
-!.yarn/patches
-!.yarn/plugins
-!.yarn/releases
-!.yarn/sdks
-!.yarn/versions
-
-# Vite logs files
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
-**/.helix
+.direnv
+.zed
+.vscode
diff --git a/README.md b/README.md
index a911ab9..6e7efa4 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# Concord
+# Shoebill
For the original hackathon project, visit [this link](https://github.com/k-puig/shellhacks-2025).
diff --git a/backend/.gitattributes b/backend/.gitattributes
deleted file mode 100644
index 8af972c..0000000
--- a/backend/.gitattributes
+++ /dev/null
@@ -1,3 +0,0 @@
-/gradlew text eol=lf
-*.bat text eol=crlf
-*.jar binary
diff --git a/backend/.gitignore b/backend/.gitignore
deleted file mode 100644
index c2065bc..0000000
--- a/backend/.gitignore
+++ /dev/null
@@ -1,37 +0,0 @@
-HELP.md
-.gradle
-build/
-!gradle/wrapper/gradle-wrapper.jar
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-bin/
-!**/src/main/**/bin/
-!**/src/test/**/bin/
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-out/
-!**/src/main/**/out/
-!**/src/test/**/out/
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-
-### VS Code ###
-.vscode/
diff --git a/backend/build.gradle b/backend/build.gradle
deleted file mode 100644
index 3a8adea..0000000
--- a/backend/build.gradle
+++ /dev/null
@@ -1,43 +0,0 @@
-plugins {
- id 'java'
- id 'org.springframework.boot' version '4.0.2'
- id 'io.spring.dependency-management' version '1.1.7'
-}
-
-group = 'net.kpuig.concord'
-version = '0.0.1-SNAPSHOT'
-description = 'Demo project for Spring Boot'
-
-java {
- toolchain {
- languageVersion = JavaLanguageVersion.of(25)
- }
-}
-
-configurations {
- compileOnly {
- extendsFrom annotationProcessor
- }
-}
-
-repositories {
- mavenCentral()
-}
-
-dependencies {
- implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
- implementation 'org.springframework.boot:spring-boot-starter-webmvc'
- implementation 'org.springframework.boot:spring-boot-starter-websocket'
- compileOnly 'org.projectlombok:lombok'
- runtimeOnly 'org.postgresql:postgresql'
- runtimeOnly 'com.h2database:h2:2.4.240'
- annotationProcessor 'org.projectlombok:lombok'
- testImplementation 'org.springframework.boot:spring-boot-starter-data-jpa-test'
- testImplementation 'org.springframework.boot:spring-boot-starter-webmvc-test'
- testImplementation 'org.springframework.boot:spring-boot-starter-websocket-test'
- testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
-}
-
-tasks.named('test') {
- useJUnitPlatform()
-}
diff --git a/backend/gradle/wrapper/gradle-wrapper.jar b/backend/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 61285a6..0000000
Binary files a/backend/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/backend/gradle/wrapper/gradle-wrapper.properties b/backend/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 19a6bde..0000000
--- a/backend/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/backend/gradlew b/backend/gradlew
deleted file mode 100755
index adff685..0000000
--- a/backend/gradlew
+++ /dev/null
@@ -1,248 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015 the original authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-##############################################################################
-#
-# Gradle start up script for POSIX generated by Gradle.
-#
-# Important for running:
-#
-# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-# noncompliant, but you have some other compliant shell such as ksh or
-# bash, then to run this script, type that shell name before the whole
-# command line, like:
-#
-# ksh Gradle
-#
-# Busybox and similar reduced shells will NOT work, because this script
-# requires all of these POSIX shell features:
-# * functions;
-# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-# * compound commands having a testable exit status, especially «case»;
-# * various built-in commands including «command», «set», and «ulimit».
-#
-# Important for patching:
-#
-# (2) This script targets any POSIX shell, so it avoids extensions provided
-# by Bash, Ksh, etc; in particular arrays are avoided.
-#
-# The "traditional" practice of packing multiple parameters into a
-# space-separated string is a well documented source of bugs and security
-# problems, so this is (mostly) avoided, by progressively accumulating
-# options in "$@", and eventually passing that to Java.
-#
-# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-# see the in-line comments for details.
-#
-# There are tweaks for specific operating systems such as AIX, CygWin,
-# Darwin, MinGW, and NonStop.
-#
-# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-# within the Gradle project.
-#
-# You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
- APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
- [ -h "$app_path" ]
-do
- ls=$( ls -ld "$app_path" )
- link=${ls#*' -> '}
- case $link in #(
- /*) app_path=$link ;; #(
- *) app_path=$APP_HOME$link ;;
- esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
- echo "$*"
-} >&2
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in #(
- CYGWIN* ) cygwin=true ;; #(
- Darwin* ) darwin=true ;; #(
- MSYS* | MINGW* ) msys=true ;; #(
- NONSTOP* ) nonstop=true ;;
-esac
-
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD=$JAVA_HOME/jre/sh/java
- else
- JAVACMD=$JAVA_HOME/bin/java
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD=java
- if ! command -v java >/dev/null 2>&1
- then
- die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
- case $MAX_FD in #(
- max*)
- # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- MAX_FD=$( ulimit -H -n ) ||
- warn "Could not query maximum file descriptor limit"
- esac
- case $MAX_FD in #(
- '' | soft) :;; #(
- *)
- # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- ulimit -n "$MAX_FD" ||
- warn "Could not set maximum file descriptor limit to $MAX_FD"
- esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-# * args from the command line
-# * the main class name
-# * -classpath
-# * -D...appname settings
-# * --module-path (only if needed)
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
- APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
-
- JAVACMD=$( cygpath --unix "$JAVACMD" )
-
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- for arg do
- if
- case $arg in #(
- -*) false ;; # don't mess with options #(
- /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
- [ -e "$t" ] ;; #(
- *) false ;;
- esac
- then
- arg=$( cygpath --path --ignore --mixed "$arg" )
- fi
- # Roll the args list around exactly as many times as the number of
- # args, so each arg winds up back in the position where it started, but
- # possibly modified.
- #
- # NB: a `for` loop captures its iteration list before it begins, so
- # changing the positional parameters here affects neither the number of
- # iterations, nor the values presented in `arg`.
- shift # remove old arg
- set -- "$@" "$arg" # push replacement arg
- done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
-# and any embedded shellness will be escaped.
-# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-# treated as '${Hostname}' itself on the command line.
-
-set -- \
- "-Dorg.gradle.appname=$APP_BASE_NAME" \
- -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
- "$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
- die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-#
-# In Bash we could simply go:
-#
-# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-# set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
- printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
- xargs -n1 |
- sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
- tr '\n' ' '
- )" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/backend/gradlew.bat b/backend/gradlew.bat
deleted file mode 100644
index c4bdd3a..0000000
--- a/backend/gradlew.bat
+++ /dev/null
@@ -1,93 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/backend/settings.gradle b/backend/settings.gradle
deleted file mode 100644
index 0f5036d..0000000
--- a/backend/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = 'backend'
diff --git a/backend/src/main/java/net/kpuig/concord/backend/BackendApplication.java b/backend/src/main/java/net/kpuig/concord/backend/BackendApplication.java
deleted file mode 100644
index 5632a77..0000000
--- a/backend/src/main/java/net/kpuig/concord/backend/BackendApplication.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.kpuig.concord.backend;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class BackendApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(BackendApplication.class, args);
- }
-
-}
diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties
deleted file mode 100644
index 3ca17a4..0000000
--- a/backend/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.application.name=backend
diff --git a/backend/src/test/java/net/kpuig/backend/BackendApplicationTests.java b/backend/src/test/java/net/kpuig/backend/BackendApplicationTests.java
deleted file mode 100644
index ad56ac2..0000000
--- a/backend/src/test/java/net/kpuig/backend/BackendApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.kpuig.backend;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class BackendApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..bfb4599
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,27 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1777578337,
+ "narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "15f4ee454b1dce334612fa6843b3e05cf546efab",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..2648dc8
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,20 @@
+{
+ description = "Concord development environment";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+ };
+
+ outputs = { self, nixpkgs }:
+ let
+ system = "x86_64-linux";
+ pkgs = import nixpkgs { inherit system; };
+ in
+ {
+ devShells.${system}.default = pkgs.mkShell {
+ buildInputs = [
+ pkgs.pnpm
+ ];
+ };
+ };
+}
diff --git a/frontend/.gitignore b/frontend/.gitignore
deleted file mode 100644
index adfa9bf..0000000
--- a/frontend/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-*.iml
-.kotlin
-.gradle
-**/build/
-xcuserdata
-!src/**/build/
-local.properties
-.idea
-.DS_Store
-captures
-.externalNativeBuild
-.cxx
-*.xcodeproj/*
-!*.xcodeproj/project.pbxproj
-!*.xcodeproj/xcshareddata/
-!*.xcodeproj/project.xcworkspace/
-!*.xcworkspace/contents.xcworkspacedata
-**/xcshareddata/WorkspaceSettings.xcsettings
-node_modules/
diff --git a/frontend/README.md b/frontend/README.md
deleted file mode 100644
index b39e306..0000000
--- a/frontend/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-This is a Kotlin Multiplatform project targeting Android, iOS, Web, Desktop (JVM).
-
-* [/composeApp](./composeApp/src) is for code that will be shared across your Compose Multiplatform applications.
- It contains several subfolders:
- - [commonMain](./composeApp/src/commonMain/kotlin) is for code that’s common for all targets.
- - Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
- For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
- the [iosMain](./composeApp/src/iosMain/kotlin) folder would be the right place for such calls.
- Similarly, if you want to edit the Desktop (JVM) specific part, the [jvmMain](./composeApp/src/jvmMain/kotlin)
- folder is the appropriate location.
-
-* [/iosApp](./iosApp/iosApp) contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform,
- you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
-
-### Build and Run Android Application
-
-To build and run the development version of the Android app, use the run configuration from the run widget
-in your IDE’s toolbar or build it directly from the terminal:
-- on macOS/Linux
- ```shell
- ./gradlew :composeApp:assembleDebug
- ```
-- on Windows
- ```shell
- .\gradlew.bat :composeApp:assembleDebug
- ```
-
-### Build and Run Desktop (JVM) Application
-
-To build and run the development version of the desktop app, use the run configuration from the run widget
-in your IDE’s toolbar or run it directly from the terminal:
-- on macOS/Linux
- ```shell
- ./gradlew :composeApp:run
- ```
-- on Windows
- ```shell
- .\gradlew.bat :composeApp:run
- ```
-
-### Build and Run Web Application
-
-To build and run the development version of the web app, use the run configuration from the run widget
-in your IDE's toolbar or run it directly from the terminal:
-- for the Wasm target (faster, modern browsers):
- - on macOS/Linux
- ```shell
- ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
- ```
- - on Windows
- ```shell
- .\gradlew.bat :composeApp:wasmJsBrowserDevelopmentRun
- ```
-- for the JS target (slower, supports older browsers):
- - on macOS/Linux
- ```shell
- ./gradlew :composeApp:jsBrowserDevelopmentRun
- ```
- - on Windows
- ```shell
- .\gradlew.bat :composeApp:jsBrowserDevelopmentRun
- ```
-
-### Build and Run iOS Application
-
-To build and run the development version of the iOS app, use the run configuration from the run widget
-in your IDE’s toolbar or open the [/iosApp](./iosApp) directory in Xcode and run it from there.
-
----
-
-Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html),
-[Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform/#compose-multiplatform),
-[Kotlin/Wasm](https://kotl.in/wasm/)…
-
-We would appreciate your feedback on Compose/Web and Kotlin/Wasm in the public Slack channel [#compose-web](https://slack-chats.kotlinlang.org/c/compose-web).
-If you face any issues, please report them on [YouTrack](https://youtrack.jetbrains.com/newIssue?project=CMP).
\ No newline at end of file
diff --git a/frontend/build.gradle.kts b/frontend/build.gradle.kts
deleted file mode 100644
index 98ddb8c..0000000
--- a/frontend/build.gradle.kts
+++ /dev/null
@@ -1,10 +0,0 @@
-plugins {
- // this is necessary to avoid the plugins to be loaded multiple times
- // in each subproject's classloader
- alias(libs.plugins.androidApplication) apply false
- alias(libs.plugins.androidLibrary) apply false
- alias(libs.plugins.composeHotReload) apply false
- alias(libs.plugins.composeMultiplatform) apply false
- alias(libs.plugins.composeCompiler) apply false
- alias(libs.plugins.kotlinMultiplatform) apply false
-}
\ No newline at end of file
diff --git a/frontend/composeApp/build.gradle.kts b/frontend/composeApp/build.gradle.kts
deleted file mode 100644
index e51a283..0000000
--- a/frontend/composeApp/build.gradle.kts
+++ /dev/null
@@ -1,109 +0,0 @@
-import org.jetbrains.compose.desktop.application.dsl.TargetFormat
-import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
-import org.jetbrains.kotlin.gradle.dsl.JvmTarget
-
-plugins {
- alias(libs.plugins.kotlinMultiplatform)
- alias(libs.plugins.androidApplication)
- alias(libs.plugins.composeMultiplatform)
- alias(libs.plugins.composeCompiler)
- alias(libs.plugins.composeHotReload)
-}
-
-kotlin {
- androidTarget {
- compilerOptions {
- jvmTarget.set(JvmTarget.JVM_11)
- }
- }
-
- listOf(
- iosArm64(),
- iosSimulatorArm64()
- ).forEach { iosTarget ->
- iosTarget.binaries.framework {
- baseName = "ComposeApp"
- isStatic = true
- }
- }
-
- jvm()
-
- js {
- browser()
- binaries.executable()
- }
-
- @OptIn(ExperimentalWasmDsl::class)
- wasmJs {
- browser()
- binaries.executable()
- }
-
- sourceSets {
- androidMain.dependencies {
- implementation(libs.compose.uiToolingPreview)
- implementation(libs.androidx.activity.compose)
- }
- commonMain.dependencies {
- implementation(libs.compose.runtime)
- implementation(libs.compose.foundation)
- implementation(libs.compose.material3)
- implementation(libs.compose.ui)
- implementation(libs.compose.components.resources)
- implementation(libs.compose.uiToolingPreview)
- implementation(libs.androidx.lifecycle.viewmodelCompose)
- implementation(libs.androidx.lifecycle.runtimeCompose)
- }
- commonTest.dependencies {
- implementation(libs.kotlin.test)
- }
- jvmMain.dependencies {
- implementation(compose.desktop.currentOs)
- implementation(libs.kotlinx.coroutinesSwing)
- }
- }
-}
-
-android {
- namespace = "net.kpuig.concord"
- compileSdk = libs.versions.android.compileSdk.get().toInt()
-
- defaultConfig {
- applicationId = "net.kpuig.concord"
- minSdk = libs.versions.android.minSdk.get().toInt()
- targetSdk = libs.versions.android.targetSdk.get().toInt()
- versionCode = 1
- versionName = "1.0"
- }
- packaging {
- resources {
- excludes += "/META-INF/{AL2.0,LGPL2.1}"
- }
- }
- buildTypes {
- getByName("release") {
- isMinifyEnabled = false
- }
- }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
-}
-
-dependencies {
- debugImplementation(libs.compose.uiTooling)
-}
-
-compose.desktop {
- application {
- mainClass = "net.kpuig.concord.MainKt"
-
- nativeDistributions {
- targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
- packageName = "net.kpuig.concord"
- packageVersion = "1.0.0"
- }
- }
-}
diff --git a/frontend/composeApp/src/androidMain/AndroidManifest.xml b/frontend/composeApp/src/androidMain/AndroidManifest.xml
deleted file mode 100644
index 26403a7..0000000
--- a/frontend/composeApp/src/androidMain/AndroidManifest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/MainActivity.kt b/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/MainActivity.kt
deleted file mode 100644
index 3433d45..0000000
--- a/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/MainActivity.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.kpuig.concord
-
-import android.os.Bundle
-import androidx.activity.ComponentActivity
-import androidx.activity.compose.setContent
-import androidx.activity.enableEdgeToEdge
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.tooling.preview.Preview
-
-class MainActivity : ComponentActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- enableEdgeToEdge()
- super.onCreate(savedInstanceState)
-
- setContent {
- App()
- }
- }
-}
-
-@Preview
-@Composable
-fun AppAndroidPreview() {
- App()
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/Platform.android.kt b/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/Platform.android.kt
deleted file mode 100644
index ddf50e6..0000000
--- a/frontend/composeApp/src/androidMain/kotlin/net/kpuig/concord/Platform.android.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package net.kpuig.concord
-
-import android.os.Build
-
-class AndroidPlatform : Platform {
- override val name: String = "Android ${Build.VERSION.SDK_INT}"
-}
-
-actual fun getPlatform(): Platform = AndroidPlatform()
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml b/frontend/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index 2b068d1..0000000
--- a/frontend/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml b/frontend/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index e93e11a..0000000
--- a/frontend/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index eca70cf..0000000
--- a/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index eca70cf..0000000
--- a/frontend/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png b/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index a571e60..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png b/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index 61da551..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png b/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c41dd28..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png b/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index db5080a..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png b/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 6dba46d..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png b/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index da31a87..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png b/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 15ac681..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png b/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index b216f2d..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png b/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index f25a419..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png b/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index e96783c..0000000
Binary files a/frontend/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/frontend/composeApp/src/androidMain/res/values/strings.xml b/frontend/composeApp/src/androidMain/res/values/strings.xml
deleted file mode 100644
index 64baaf6..0000000
--- a/frontend/composeApp/src/androidMain/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- Concord
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml b/frontend/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml
deleted file mode 100644
index 1ffc948..0000000
--- a/frontend/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/App.kt b/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/App.kt
deleted file mode 100644
index 0bd1101..0000000
--- a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/App.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-package net.kpuig.concord
-
-import androidx.compose.animation.AnimatedVisibility
-import androidx.compose.foundation.Image
-import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.safeContentPadding
-import androidx.compose.material3.Button
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Text
-import androidx.compose.runtime.*
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.tooling.preview.Preview
-import org.jetbrains.compose.resources.painterResource
-
-import concord.composeapp.generated.resources.Res
-import concord.composeapp.generated.resources.compose_multiplatform
-
-@Composable
-@Preview
-fun App() {
- MaterialTheme {
- var showContent by remember { mutableStateOf(false) }
- Column(
- modifier = Modifier
- .background(MaterialTheme.colorScheme.primaryContainer)
- .safeContentPadding()
- .fillMaxSize(),
- horizontalAlignment = Alignment.CenterHorizontally,
- ) {
- Button(onClick = { showContent = !showContent }) {
- Text("Click me!")
- }
- AnimatedVisibility(showContent) {
- val greeting = remember { Greeting().greet() }
- Column(
- modifier = Modifier.fillMaxWidth(),
- horizontalAlignment = Alignment.CenterHorizontally,
- ) {
- Image(painterResource(Res.drawable.compose_multiplatform), null)
- Text("Compose: $greeting")
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Greeting.kt b/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Greeting.kt
deleted file mode 100644
index 70d425a..0000000
--- a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Greeting.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package net.kpuig.concord
-
-class Greeting {
- private val platform = getPlatform()
-
- fun greet(): String {
- return "Hello, ${platform.name}!"
- }
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Platform.kt b/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Platform.kt
deleted file mode 100644
index f6d899f..0000000
--- a/frontend/composeApp/src/commonMain/kotlin/net/kpuig/concord/Platform.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.kpuig.concord
-
-interface Platform {
- val name: String
-}
-
-expect fun getPlatform(): Platform
\ No newline at end of file
diff --git a/frontend/composeApp/src/commonTest/kotlin/net/kpuig/concord/ComposeAppCommonTest.kt b/frontend/composeApp/src/commonTest/kotlin/net/kpuig/concord/ComposeAppCommonTest.kt
deleted file mode 100644
index 14da7a7..0000000
--- a/frontend/composeApp/src/commonTest/kotlin/net/kpuig/concord/ComposeAppCommonTest.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.kpuig.concord
-
-import kotlin.test.Test
-import kotlin.test.assertEquals
-
-class ComposeAppCommonTest {
-
- @Test
- fun example() {
- assertEquals(3, 1 + 2)
- }
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/MainViewController.kt b/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/MainViewController.kt
deleted file mode 100644
index ba1c6ef..0000000
--- a/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/MainViewController.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package net.kpuig.concord
-
-import androidx.compose.ui.window.ComposeUIViewController
-
-fun MainViewController() = ComposeUIViewController { App() }
\ No newline at end of file
diff --git a/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/Platform.ios.kt b/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/Platform.ios.kt
deleted file mode 100644
index 53f0e2c..0000000
--- a/frontend/composeApp/src/iosMain/kotlin/net/kpuig/concord/Platform.ios.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package net.kpuig.concord
-
-import platform.UIKit.UIDevice
-
-class IOSPlatform: Platform {
- override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion
-}
-
-actual fun getPlatform(): Platform = IOSPlatform()
\ No newline at end of file
diff --git a/frontend/composeApp/src/jsMain/kotlin/net/kpuig/concord/Platform.js.kt b/frontend/composeApp/src/jsMain/kotlin/net/kpuig/concord/Platform.js.kt
deleted file mode 100644
index 8e09369..0000000
--- a/frontend/composeApp/src/jsMain/kotlin/net/kpuig/concord/Platform.js.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.kpuig.concord
-
-class JsPlatform: Platform {
- override val name: String = "Web with Kotlin/JS"
-}
-
-actual fun getPlatform(): Platform = JsPlatform()
\ No newline at end of file
diff --git a/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/Platform.jvm.kt b/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/Platform.jvm.kt
deleted file mode 100644
index 11c71d4..0000000
--- a/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/Platform.jvm.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.kpuig.concord
-
-class JVMPlatform: Platform {
- override val name: String = "Java ${System.getProperty("java.version")}"
-}
-
-actual fun getPlatform(): Platform = JVMPlatform()
\ No newline at end of file
diff --git a/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/main.kt b/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/main.kt
deleted file mode 100644
index fd544bb..0000000
--- a/frontend/composeApp/src/jvmMain/kotlin/net/kpuig/concord/main.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.kpuig.concord
-
-import androidx.compose.ui.window.Window
-import androidx.compose.ui.window.application
-
-fun main() = application {
- Window(
- onCloseRequest = ::exitApplication,
- title = "Concord",
- ) {
- App()
- }
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/wasmJsMain/kotlin/net/kpuig/concord/Platform.wasmJs.kt b/frontend/composeApp/src/wasmJsMain/kotlin/net/kpuig/concord/Platform.wasmJs.kt
deleted file mode 100644
index d86b794..0000000
--- a/frontend/composeApp/src/wasmJsMain/kotlin/net/kpuig/concord/Platform.wasmJs.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.kpuig.concord
-
-class WasmPlatform: Platform {
- override val name: String = "Web with Kotlin/Wasm"
-}
-
-actual fun getPlatform(): Platform = WasmPlatform()
\ No newline at end of file
diff --git a/frontend/composeApp/src/webMain/kotlin/net/kpuig/concord/main.kt b/frontend/composeApp/src/webMain/kotlin/net/kpuig/concord/main.kt
deleted file mode 100644
index 61d0915..0000000
--- a/frontend/composeApp/src/webMain/kotlin/net/kpuig/concord/main.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package net.kpuig.concord
-
-import androidx.compose.ui.ExperimentalComposeUiApi
-import androidx.compose.ui.window.ComposeViewport
-
-@OptIn(ExperimentalComposeUiApi::class)
-fun main() {
- ComposeViewport {
- App()
- }
-}
\ No newline at end of file
diff --git a/frontend/composeApp/src/webMain/resources/index.html b/frontend/composeApp/src/webMain/resources/index.html
deleted file mode 100644
index d0e45a1..0000000
--- a/frontend/composeApp/src/webMain/resources/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- Concord
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/composeApp/src/webMain/resources/styles.css b/frontend/composeApp/src/webMain/resources/styles.css
deleted file mode 100644
index 0549b10..0000000
--- a/frontend/composeApp/src/webMain/resources/styles.css
+++ /dev/null
@@ -1,7 +0,0 @@
-html, body {
- width: 100%;
- height: 100%;
- margin: 0;
- padding: 0;
- overflow: hidden;
-}
\ No newline at end of file
diff --git a/frontend/gradle.properties b/frontend/gradle.properties
deleted file mode 100644
index 6f8e6ea..0000000
--- a/frontend/gradle.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#Kotlin
-kotlin.code.style=official
-kotlin.daemon.jvmargs=-Xmx3072M
-
-#Gradle
-org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8
-org.gradle.configuration-cache=true
-org.gradle.caching=true
-
-#Android
-android.nonTransitiveRClass=true
-android.useAndroidX=true
\ No newline at end of file
diff --git a/frontend/gradle/libs.versions.toml b/frontend/gradle/libs.versions.toml
deleted file mode 100644
index f75fd0f..0000000
--- a/frontend/gradle/libs.versions.toml
+++ /dev/null
@@ -1,45 +0,0 @@
-[versions]
-agp = "8.11.2"
-android-compileSdk = "36"
-android-minSdk = "24"
-android-targetSdk = "36"
-androidx-activity = "1.12.2"
-androidx-appcompat = "1.7.1"
-androidx-core = "1.17.0"
-androidx-espresso = "3.7.0"
-androidx-lifecycle = "2.9.6"
-androidx-testExt = "1.3.0"
-composeHotReload = "1.0.0"
-composeMultiplatform = "1.10.0"
-junit = "4.13.2"
-kotlin = "2.3.0"
-kotlinx-coroutines = "1.10.2"
-material3 = "1.10.0-alpha05"
-
-[libraries]
-kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
-kotlin-testJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
-junit = { module = "junit:junit", version.ref = "junit" }
-androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
-androidx-testExt-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-testExt" }
-androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-espresso" }
-androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
-androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
-compose-uiTooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "composeMultiplatform" }
-androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
-androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
-compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
-compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
-compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3" }
-compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
-compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
-compose-uiToolingPreview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "composeMultiplatform" }
-kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
-
-[plugins]
-androidApplication = { id = "com.android.application", version.ref = "agp" }
-androidLibrary = { id = "com.android.library", version.ref = "agp" }
-composeHotReload = { id = "org.jetbrains.compose.hot-reload", version.ref = "composeHotReload" }
-composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
-composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
-kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
\ No newline at end of file
diff --git a/frontend/gradle/wrapper/gradle-wrapper.jar b/frontend/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 1b33c55..0000000
Binary files a/frontend/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/frontend/gradle/wrapper/gradle-wrapper.properties b/frontend/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index d4081da..0000000
--- a/frontend/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/frontend/gradlew b/frontend/gradlew
deleted file mode 100755
index 23d15a9..0000000
--- a/frontend/gradlew
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015-2021 the original authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-##############################################################################
-#
-# Gradle start up script for POSIX generated by Gradle.
-#
-# Important for running:
-#
-# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-# noncompliant, but you have some other compliant shell such as ksh or
-# bash, then to run this script, type that shell name before the whole
-# command line, like:
-#
-# ksh Gradle
-#
-# Busybox and similar reduced shells will NOT work, because this script
-# requires all of these POSIX shell features:
-# * functions;
-# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-# * compound commands having a testable exit status, especially «case»;
-# * various built-in commands including «command», «set», and «ulimit».
-#
-# Important for patching:
-#
-# (2) This script targets any POSIX shell, so it avoids extensions provided
-# by Bash, Ksh, etc; in particular arrays are avoided.
-#
-# The "traditional" practice of packing multiple parameters into a
-# space-separated string is a well documented source of bugs and security
-# problems, so this is (mostly) avoided, by progressively accumulating
-# options in "$@", and eventually passing that to Java.
-#
-# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-# see the in-line comments for details.
-#
-# There are tweaks for specific operating systems such as AIX, CygWin,
-# Darwin, MinGW, and NonStop.
-#
-# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-# within the Gradle project.
-#
-# You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
- APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
- [ -h "$app_path" ]
-do
- ls=$( ls -ld "$app_path" )
- link=${ls#*' -> '}
- case $link in #(
- /*) app_path=$link ;; #(
- *) app_path=$APP_HOME$link ;;
- esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
- echo "$*"
-} >&2
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in #(
- CYGWIN* ) cygwin=true ;; #(
- Darwin* ) darwin=true ;; #(
- MSYS* | MINGW* ) msys=true ;; #(
- NONSTOP* ) nonstop=true ;;
-esac
-
-CLASSPATH="\\\"\\\""
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD=$JAVA_HOME/jre/sh/java
- else
- JAVACMD=$JAVA_HOME/bin/java
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD=java
- if ! command -v java >/dev/null 2>&1
- then
- die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
- case $MAX_FD in #(
- max*)
- # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- MAX_FD=$( ulimit -H -n ) ||
- warn "Could not query maximum file descriptor limit"
- esac
- case $MAX_FD in #(
- '' | soft) :;; #(
- *)
- # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- ulimit -n "$MAX_FD" ||
- warn "Could not set maximum file descriptor limit to $MAX_FD"
- esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-# * args from the command line
-# * the main class name
-# * -classpath
-# * -D...appname settings
-# * --module-path (only if needed)
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
- APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
-
- JAVACMD=$( cygpath --unix "$JAVACMD" )
-
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- for arg do
- if
- case $arg in #(
- -*) false ;; # don't mess with options #(
- /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
- [ -e "$t" ] ;; #(
- *) false ;;
- esac
- then
- arg=$( cygpath --path --ignore --mixed "$arg" )
- fi
- # Roll the args list around exactly as many times as the number of
- # args, so each arg winds up back in the position where it started, but
- # possibly modified.
- #
- # NB: a `for` loop captures its iteration list before it begins, so
- # changing the positional parameters here affects neither the number of
- # iterations, nor the values presented in `arg`.
- shift # remove old arg
- set -- "$@" "$arg" # push replacement arg
- done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
-# and any embedded shellness will be escaped.
-# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-# treated as '${Hostname}' itself on the command line.
-
-set -- \
- "-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
- -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
- "$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
- die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-#
-# In Bash we could simply go:
-#
-# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-# set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
- printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
- xargs -n1 |
- sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
- tr '\n' ' '
- )" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/frontend/gradlew.bat b/frontend/gradlew.bat
deleted file mode 100644
index 5eed7ee..0000000
--- a/frontend/gradlew.bat
+++ /dev/null
@@ -1,94 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/frontend/iosApp/Configuration/Config.xcconfig b/frontend/iosApp/Configuration/Config.xcconfig
deleted file mode 100644
index 66aec6f..0000000
--- a/frontend/iosApp/Configuration/Config.xcconfig
+++ /dev/null
@@ -1,7 +0,0 @@
-TEAM_ID=
-
-PRODUCT_NAME=Concord
-PRODUCT_BUNDLE_IDENTIFIER=net.kpuig.concord.Concord$(TEAM_ID)
-
-CURRENT_PROJECT_VERSION=1
-MARKETING_VERSION=1.0
\ No newline at end of file
diff --git a/frontend/iosApp/iosApp.xcodeproj/project.pbxproj b/frontend/iosApp/iosApp.xcodeproj/project.pbxproj
deleted file mode 100644
index 5646399..0000000
--- a/frontend/iosApp/iosApp.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,373 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 77;
- objects = {
-
-/* Begin PBXFileReference section */
- 060FD4F19372100A944853EA /* Concord.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Concord.app; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
- 20CBF14EEA4F7173520B9231 /* Exceptions for "iosApp" folder in "iosApp" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- Info.plist,
- );
- target = CE69950C7B865E43151EEA82 /* iosApp */;
- };
-/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
-
-/* Begin PBXFileSystemSynchronizedRootGroup section */
- 5A8DE31C73A15312C0C6C0C1 /* iosApp */ = {
- isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 20CBF14EEA4F7173520B9231 /* Exceptions for "iosApp" folder in "iosApp" target */,
- );
- path = iosApp;
- sourceTree = "";
- };
- 206F226E1B0280B15A7BB546 /* Configuration */ = {
- isa = PBXFileSystemSynchronizedRootGroup;
- path = Configuration;
- sourceTree = "";
- };
-/* End PBXFileSystemSynchronizedRootGroup section */
-
-/* Begin PBXFrameworksBuildPhase section */
- CE172303929EA9A3281B7471 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- B961B6B481FA26705E4E0BF0 = {
- isa = PBXGroup;
- children = (
- 206F226E1B0280B15A7BB546 /* Configuration */,
- 5A8DE31C73A15312C0C6C0C1 /* iosApp */,
- 8865C909614B47213FD4D9EC /* Products */,
- );
- sourceTree = "";
- };
- 8865C909614B47213FD4D9EC /* Products */ = {
- isa = PBXGroup;
- children = (
- 060FD4F19372100A944853EA /* Concord.app */,
- );
- name = Products;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- CE69950C7B865E43151EEA82 /* iosApp */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 55B7A60C1531834FA5683921 /* Build configuration list for PBXNativeTarget "iosApp" */;
- buildPhases = (
- 7F1DBDBEDB38948C9CBBC2B6 /* Compile Kotlin Framework */,
- 0507EA6A13268FD8F1ED8803 /* Sources */,
- CE172303929EA9A3281B7471 /* Frameworks */,
- 8BE2773987F95B55EEBAE64C /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- fileSystemSynchronizedGroups = (
- 5A8DE31C73A15312C0C6C0C1 /* iosApp */,
- );
- name = iosApp;
- packageProductDependencies = (
- );
- productName = iosApp;
- productReference = 060FD4F19372100A944853EA /* Concord.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 2EE251BE70E115BC2890B958 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = 1;
- LastSwiftUpdateCheck = 1620;
- LastUpgradeCheck = 1620;
- TargetAttributes = {
- CE69950C7B865E43151EEA82 = {
- CreatedOnToolsVersion = 16.2;
- };
- };
- };
- buildConfigurationList = B060FAFA80F65DCCC8C5D7EB /* Build configuration list for PBXProject "iosApp" */;
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = B961B6B481FA26705E4E0BF0;
- minimizedProjectReferenceProxies = 1;
- preferredProjectObjectVersion = 77;
- productRefGroup = 8865C909614B47213FD4D9EC /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- CE69950C7B865E43151EEA82 /* iosApp */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 8BE2773987F95B55EEBAE64C /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 7F1DBDBEDB38948C9CBBC2B6 /* Compile Kotlin Framework */ = {
- isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Compile Kotlin Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/..\"\n./gradlew :composeApp:embedAndSignAppleFrameworkForXcode\n";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 0507EA6A13268FD8F1ED8803 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- C5257962F1F2ED6425592B02 /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReferenceAnchor = 206F226E1B0280B15A7BB546 /* Configuration */;
- baseConfigurationReferenceRelativePath = Config.xcconfig;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = NO;
- GCC_C_LANGUAGE_STANDARD = gnu17;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 18.2;
- LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
- MTL_FAST_MATH = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- E26D0592D7F982AC7003ABBD /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReferenceAnchor = 206F226E1B0280B15A7BB546 /* Configuration */;
- baseConfigurationReferenceRelativePath = Config.xcconfig;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = NO;
- GCC_C_LANGUAGE_STANDARD = gnu17;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 18.2;
- LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
- SDKROOT = iphoneos;
- SWIFT_COMPILATION_MODE = wholemodule;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 1C0B0EF72EB1627C8BA3DB22 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = arm64;
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
- DEVELOPMENT_TEAM = "${TEAM_ID}";
- ENABLE_PREVIEWS = YES;
- GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = iosApp/Info.plist;
- INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
- INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchScreen_Generation = YES;
- INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- E4A85AF16822152E30262122 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = arm64;
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
- DEVELOPMENT_TEAM = "${TEAM_ID}";
- ENABLE_PREVIEWS = YES;
- GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = iosApp/Info.plist;
- INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
- INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchScreen_Generation = YES;
- INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- B060FAFA80F65DCCC8C5D7EB /* Build configuration list for PBXProject "iosApp" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- C5257962F1F2ED6425592B02 /* Debug */,
- E26D0592D7F982AC7003ABBD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 55B7A60C1531834FA5683921 /* Build configuration list for PBXNativeTarget "iosApp" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1C0B0EF72EB1627C8BA3DB22 /* Debug */,
- E4A85AF16822152E30262122 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 2EE251BE70E115BC2890B958 /* Project object */;
-}
\ No newline at end of file
diff --git a/frontend/iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/frontend/iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a..0000000
--- a/frontend/iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/frontend/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/frontend/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json
deleted file mode 100644
index eb87897..0000000
--- a/frontend/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "colors" : [
- {
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 4e8d485..0000000
--- a/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "images" : [
- {
- "filename" : "app-icon-1024.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- },
- {
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ],
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- },
- {
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "tinted"
- }
- ],
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png
deleted file mode 100644
index 53fc536..0000000
Binary files a/frontend/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png and /dev/null differ
diff --git a/frontend/iosApp/iosApp/Assets.xcassets/Contents.json b/frontend/iosApp/iosApp/Assets.xcassets/Contents.json
deleted file mode 100644
index 73c0059..0000000
--- a/frontend/iosApp/iosApp/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/frontend/iosApp/iosApp/ContentView.swift b/frontend/iosApp/iosApp/ContentView.swift
deleted file mode 100644
index c765ff2..0000000
--- a/frontend/iosApp/iosApp/ContentView.swift
+++ /dev/null
@@ -1,21 +0,0 @@
-import UIKit
-import SwiftUI
-import ComposeApp
-
-struct ComposeView: UIViewControllerRepresentable {
- func makeUIViewController(context: Context) -> UIViewController {
- MainViewControllerKt.MainViewController()
- }
-
- func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
-}
-
-struct ContentView: View {
- var body: some View {
- ComposeView()
- .ignoresSafeArea()
- }
-}
-
-
-
diff --git a/frontend/iosApp/iosApp/Info.plist b/frontend/iosApp/iosApp/Info.plist
deleted file mode 100644
index 11845e1..0000000
--- a/frontend/iosApp/iosApp/Info.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- CADisableMinimumFrameDurationOnPhone
-
-
-
diff --git a/frontend/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/frontend/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json
deleted file mode 100644
index 73c0059..0000000
--- a/frontend/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/frontend/iosApp/iosApp/iOSApp.swift b/frontend/iosApp/iosApp/iOSApp.swift
deleted file mode 100644
index d83dca6..0000000
--- a/frontend/iosApp/iosApp/iOSApp.swift
+++ /dev/null
@@ -1,10 +0,0 @@
-import SwiftUI
-
-@main
-struct iOSApp: App {
- var body: some Scene {
- WindowGroup {
- ContentView()
- }
- }
-}
\ No newline at end of file
diff --git a/frontend/settings.gradle.kts b/frontend/settings.gradle.kts
deleted file mode 100644
index 4c4340a..0000000
--- a/frontend/settings.gradle.kts
+++ /dev/null
@@ -1,35 +0,0 @@
-rootProject.name = "Concord"
-enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
-
-pluginManagement {
- repositories {
- google {
- mavenContent {
- includeGroupAndSubgroups("androidx")
- includeGroupAndSubgroups("com.android")
- includeGroupAndSubgroups("com.google")
- }
- }
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-dependencyResolutionManagement {
- repositories {
- google {
- mavenContent {
- includeGroupAndSubgroups("androidx")
- includeGroupAndSubgroups("com.android")
- includeGroupAndSubgroups("com.google")
- }
- }
- mavenCentral()
- }
-}
-
-plugins {
- id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
-}
-
-include(":composeApp")
\ No newline at end of file