From 7e5fa54e3f5004a5ad2f24fa405e3adfe93663e4 Mon Sep 17 00:00:00 2001 From: Fenriir42 Date: Tue, 16 Sep 2025 16:01:18 +0200 Subject: [PATCH 01/14] docs(root): Add the readme.md of the project --- README.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..5b741ac --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# Action-Reaction + +## Create an Automation Platform (similar to IFTTT / Zapier) + +## 📌 Overview + +Action-Reaction is an automation platform designed to connect services together. +Users can define **AREAs** (*Action + REAction*) that automatically execute when certain events occur. + +The system is composed of three main parts: + +- **Application Server**: Business logic & REST API. +- **Web Client**: Browser-based UI, communicates with the server. +- **Mobile Client**: Android app, communicates with the server. + +--- + +## ✨ Features + +- User registration & authentication (password-based + OAuth2). +- Service subscription (Google, Outlook, Dropbox, etc.). +- Action components (event triggers). +- REAction components (automated tasks). +- AREAs: link Actions to REActions. +- Hooks: monitor & trigger automation. + +--- + +## 🏗 Architecture + +- **Server**: Runs business logic, exposes REST API (`http://localhost:8080`). +- **Web Client**: User interface (`http://localhost:8081`). +- **Mobile Client**: Android application, distributed via APK. +- **Docker Compose**: Orchestration of all components. + +--- + +## 🚀 Getting Started + +### Prerequisites + +- [Docker](https://docs.docker.com/get-docker/) +- [Docker Compose](https://docs.docker.com/compose/) + +### Installation + +WIP + +### Services + +- Server -> `http://localhost:8080/about.json` +- Web Client -> `http://localhost:8081/` +- Mobile Client APK -> YES + +--- + +## 📜 API Example: `about.json` + +WIP + +--- + +## 🛠 Contributing + +WIP + +--- + +## 📅 Project Timeline + +- **21/09/2025**: Tech stack selection, PoC, task distribution. +- **06/10/2025**: Core architecture & base functionality. +- **02/11/2025**: Full feature set, UI, Docker deployment. + +--- + +## 📖 Documentation + +WIP From 02c796336e02d76f7dcaeebde4b42bee6a8e2fb2 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 16:22:21 +0100 Subject: [PATCH 02/14] feat(readme): add installation and start contributing sections --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b741ac..57d574a 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,10 @@ The system is composed of three main parts: ### Installation -WIP +- **Step 1**: Connect your phone with your laptop via a cable +- **Step 2**: docker-compose build && docker-compose up +- **Step 3**: Go to your browser -> connect to http://localhost:8081/ to be at the web interface +- **Step 4**:Connect to http://localhost:8081/client.apk to download the mobile app ### Services @@ -62,6 +65,21 @@ WIP ## 🛠 Contributing +### Languages and framework + +- Web App: React + SCSS +- Mobile App: React + Capacitor + SCSS +- Server: Python + fastapi + +### How to add a service + +-> Go to area/back/app/routes +-> Add a folder and name it after the service you want to add +-> Create a `__init__.py` file following other examples +-> Create the .py file for the service and complete it following the other examples + +### How to add an A-REA + WIP --- From 4e27def271b3a4e7703b1fed7a2ffbf113a043e4 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 16:28:19 +0100 Subject: [PATCH 03/14] fix(readme): fix layout of contributing/service --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 57d574a..5a4a4de 100644 --- a/README.md +++ b/README.md @@ -73,10 +73,10 @@ WIP ### How to add a service --> Go to area/back/app/routes --> Add a folder and name it after the service you want to add --> Create a `__init__.py` file following other examples --> Create the .py file for the service and complete it following the other examples +- Go to area/back/app/routes +- Add a folder and name it after the service you want to add +- Create a `__init__.py` file following other examples +- Create the .py file for the service and complete it following the other examples ### How to add an A-REA From 1dcdb8066def53098d1b2d8065160110e03603cb Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 17:08:00 +0100 Subject: [PATCH 04/14] feat(README): add link to API documentation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a4a4de..889f2b7 100644 --- a/README.md +++ b/README.md @@ -94,4 +94,4 @@ WIP ## 📖 Documentation -WIP +- **API**: http://localhost:8080/docs From d2893a2a02c2cd9cc54ebb79b651395975f4d2b1 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 18:06:04 +0100 Subject: [PATCH 05/14] feat(readme): add step-by-step apk creation feat(readme): add step to get apk on via client.apk --- README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 889f2b7..58b665d 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,52 @@ The system is composed of three main parts: ### Installation - **Step 1**: Connect your phone with your laptop via a cable -- **Step 2**: docker-compose build && docker-compose up +- **Step 2**: docker build -t test -f android/Dockerfile . && docker run test:latest - **Step 3**: Go to your browser -> connect to http://localhost:8081/ to be at the web interface -- **Step 4**:Connect to http://localhost:8081/client.apk to download the mobile app +- **Step 4**: Connect to http://localhost:8081/client.apk to download the mobile app + +#### Mobile installation + +- **Step 1**: Go to front/android and create a \`gradle.properties\` file. Fill it with those informations: + +\# Project-wide Gradle settings. + +\# IDE (e.g. Android Studio) users: +\# Gradle settings configured through the IDE *will override* +\# any settings specified in this file. + +\# For more details on how to configure your build environment visit +\# http://www.gradle.org/docs/current/userguide/build_environment.html + +\# Specifies the JVM arguments used for the daemon process. +\# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +\# When configured, Gradle will run in incubating parallel mode. +\# This option should only be used with decoupled projects. More details, visit +\# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +\# org.gradle.parallel=true + +\# AndroidX package structure to make it clearer which packages are bundled with the +\# Android operating system, and which are packaged with your app's APK +\# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +RELEASE_STORE_FILE=/build/apk_key.jks +RELEASE_STORE_PASSWORD=xxxxxx +RELEASE_KEY_ALIAS=alias +RELEASE_KEY_PASSWORD=xxxxxx + +Replace both of the "xxxxxx" with an actual password. That password need to be at least 6 characters long. + +- **Step 2**: In your terminal run `keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias;`. +It will ask for a keystore password, put the one you chose for the first step. It will follow by asking more information; those information don't need to be necesarilly true. +Enter 'y' to confirm the datas you entered. + +- **Step 3**: run `docker build -t test -f android/Dockerfile . && docker run test:latest`. + +- **Step 4**: Connect to http://localhost:8081/client.apk to download the mobile app. + + ### Services @@ -95,3 +138,10 @@ WIP ## 📖 Documentation - **API**: http://localhost:8080/docs + +keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias; + +RELEASE_STORE_FILE=/build/apk_key.jks +RELEASE_STORE_PASSWORD=xxxx +RELEASE_KEY_ALIAS=alias +RELEASE_KEY_PASSWORD=xxxx \ No newline at end of file From 5d017c67d479dc965a29fd3fa3e708ba14c17cb4 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 18:34:49 +0100 Subject: [PATCH 06/14] feat(readme): add environnement element to technologies --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 58b665d..f28565b 100644 --- a/README.md +++ b/README.md @@ -108,11 +108,12 @@ WIP ## 🛠 Contributing -### Languages and framework +### Languages, frameworks and technologies - Web App: React + SCSS - Mobile App: React + Capacitor + SCSS - Server: Python + fastapi +- Environment: Nix + Docker ### How to add a service From 1040cbe45a66cbd5c150081e08841956e657f713 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Sun, 2 Nov 2025 22:31:44 +0100 Subject: [PATCH 07/14] fix(readme): remove unwanted data fix(readme): remove useless steps --- README.md | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/README.md b/README.md index f28565b..3d30442 100644 --- a/README.md +++ b/README.md @@ -44,11 +44,6 @@ The system is composed of three main parts: ### Installation -- **Step 1**: Connect your phone with your laptop via a cable -- **Step 2**: docker build -t test -f android/Dockerfile . && docker run test:latest -- **Step 3**: Go to your browser -> connect to http://localhost:8081/ to be at the web interface -- **Step 4**: Connect to http://localhost:8081/client.apk to download the mobile app - #### Mobile installation - **Step 1**: Go to front/android and create a \`gradle.properties\` file. Fill it with those informations: @@ -108,12 +103,11 @@ WIP ## 🛠 Contributing -### Languages, frameworks and technologies +### Languages and frameworks - Web App: React + SCSS - Mobile App: React + Capacitor + SCSS - Server: Python + fastapi -- Environment: Nix + Docker ### How to add a service @@ -139,10 +133,3 @@ WIP ## 📖 Documentation - **API**: http://localhost:8080/docs - -keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias; - -RELEASE_STORE_FILE=/build/apk_key.jks -RELEASE_STORE_PASSWORD=xxxx -RELEASE_KEY_ALIAS=alias -RELEASE_KEY_PASSWORD=xxxx \ No newline at end of file From fddbcb2331742b687b2524eae2d2b0d444d4f593 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Mon, 3 Nov 2025 23:10:41 +0100 Subject: [PATCH 08/14] feat(readme): add config.toml config --- README.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3d30442..f7d867e 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,26 @@ The system is composed of three main parts: ### Installation -#### Mobile installation + - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it with: -- **Step 1**: Go to front/android and create a \`gradle.properties\` file. Fill it with those informations: +[security] +jwt_secret = "hello_world_3301@083280948390" + +[db] +uri="sqlite+aiosqlite:///app.db" + +[providers] + +[providers.discord] +client_id = id_exemple #1418965246885761106 +client_secret = secret_example #"JgGHjCxByc56UweRxbS978hWq9tpRbs4" + +[providers.github] +\# ... + +In the providers, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) + +- **Step 2**: Go to front/android and create a \`gradle.properties\` file. Fill it with those informations: \# Project-wide Gradle settings. @@ -77,13 +94,13 @@ RELEASE_KEY_PASSWORD=xxxxxx Replace both of the "xxxxxx" with an actual password. That password need to be at least 6 characters long. -- **Step 2**: In your terminal run `keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias;`. +- **Step 3**: In your terminal run `keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias;`. It will ask for a keystore password, put the one you chose for the first step. It will follow by asking more information; those information don't need to be necesarilly true. Enter 'y' to confirm the datas you entered. -- **Step 3**: run `docker build -t test -f android/Dockerfile . && docker run test:latest`. +- **Step 4**: run `docker build -t test -f android/Dockerfile . && docker run test:latest`. -- **Step 4**: Connect to http://localhost:8081/client.apk to download the mobile app. +- **Step 5**: Connect to http://localhost:8081/client.apk to download the mobile app. From b6df3b3dc1b5a65b3a474c1d4a90eb296b5604c3 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Mon, 3 Nov 2025 23:11:23 +0100 Subject: [PATCH 09/14] refactor(readme): remove contributing section of readme --- README.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/README.md b/README.md index f7d867e..07a1ab9 100644 --- a/README.md +++ b/README.md @@ -118,27 +118,6 @@ WIP --- -## 🛠 Contributing - -### Languages and frameworks - -- Web App: React + SCSS -- Mobile App: React + Capacitor + SCSS -- Server: Python + fastapi - -### How to add a service - -- Go to area/back/app/routes -- Add a folder and name it after the service you want to add -- Create a `__init__.py` file following other examples -- Create the .py file for the service and complete it following the other examples - -### How to add an A-REA - -WIP - ---- - ## 📅 Project Timeline - **21/09/2025**: Tech stack selection, PoC, task distribution. From 3021faa965b0f151d452466f87e50954c570ec04 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Tue, 4 Nov 2025 11:38:00 +0100 Subject: [PATCH 10/14] refactor(readme): move exemples into separate files --- README.md | 52 +++-------------------------------------- exemples/exemple_config | 14 +++++++++++ exemples/exemple_gradle | 26 +++++++++++++++++++++ 3 files changed, 43 insertions(+), 49 deletions(-) create mode 100644 exemples/exemple_config create mode 100644 exemples/exemple_gradle diff --git a/README.md b/README.md index 07a1ab9..913bd7e 100644 --- a/README.md +++ b/README.md @@ -44,58 +44,12 @@ The system is composed of three main parts: ### Installation - - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it with: + - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it based on the data in exemples/exemple_config. In the provider section, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) -[security] -jwt_secret = "hello_world_3301@083280948390" - -[db] -uri="sqlite+aiosqlite:///app.db" - -[providers] - -[providers.discord] -client_id = id_exemple #1418965246885761106 -client_secret = secret_example #"JgGHjCxByc56UweRxbS978hWq9tpRbs4" - -[providers.github] -\# ... - -In the providers, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) - -- **Step 2**: Go to front/android and create a \`gradle.properties\` file. Fill it with those informations: - -\# Project-wide Gradle settings. - -\# IDE (e.g. Android Studio) users: -\# Gradle settings configured through the IDE *will override* -\# any settings specified in this file. - -\# For more details on how to configure your build environment visit -\# http://www.gradle.org/docs/current/userguide/build_environment.html - -\# Specifies the JVM arguments used for the daemon process. -\# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m - -\# When configured, Gradle will run in incubating parallel mode. -\# This option should only be used with decoupled projects. More details, visit -\# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -\# org.gradle.parallel=true - -\# AndroidX package structure to make it clearer which packages are bundled with the -\# Android operating system, and which are packaged with your app's APK -\# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true -RELEASE_STORE_FILE=/build/apk_key.jks -RELEASE_STORE_PASSWORD=xxxxxx -RELEASE_KEY_ALIAS=alias -RELEASE_KEY_PASSWORD=xxxxxx - -Replace both of the "xxxxxx" with an actual password. That password need to be at least 6 characters long. +- **Step 2**: Go to front/android and create a \`gradle.properties\` file. Fill it with the informations in exemples/exemple_gradle. Fill `RELEASE_STORE_PASSWORD` and `RELEASE_KEY_PASSWORD` with your own password. The two must have an identical one. - **Step 3**: In your terminal run `keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias;`. -It will ask for a keystore password, put the one you chose for the first step. It will follow by asking more information; those information don't need to be necesarilly true. +It will ask for a keystore password, put the one you chose for the second step. It will follow by asking more information; those information don't need to be necesarilly true. Enter 'y' to confirm the datas you entered. - **Step 4**: run `docker build -t test -f android/Dockerfile . && docker run test:latest`. diff --git a/exemples/exemple_config b/exemples/exemple_config new file mode 100644 index 0000000..9647a70 --- /dev/null +++ b/exemples/exemple_config @@ -0,0 +1,14 @@ +[security] +jwt_secret = "hello_world_3301@083280948390" + +[db] +uri="sqlite+aiosqlite:///app.db" + +[providers] + +[providers.discord] +client_id = id_exemple #1418965246885761106 +client_secret = secret_example #"JgGHjCxByc56UweRxbS978hWq9tpRbs4" + +[providers.github] +\# ... \ No newline at end of file diff --git a/exemples/exemple_gradle b/exemples/exemple_gradle new file mode 100644 index 0000000..5b9f34c --- /dev/null +++ b/exemples/exemple_gradle @@ -0,0 +1,26 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +RELEASE_STORE_FILE=/build/apk_key.jks +RELEASE_STORE_PASSWORD=xxxxxx +RELEASE_KEY_ALIAS=alias +RELEASE_KEY_PASSWORD=xxxxxx \ No newline at end of file From 33328b8bb22c7f565301308e2a655a870b10c4a8 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Tue, 4 Nov 2025 18:32:31 +0100 Subject: [PATCH 11/14] refactor(readme): update config exemple --- README.md | 7 +++++- exemples/exemple_config | 54 +++++++++++++++++++++++++++++++++++------ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 913bd7e..643a001 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,12 @@ The system is composed of three main parts: ### Installation - - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it based on the data in exemples/exemple_config. In the provider section, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) + - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it based on the data in exemples/exemple_config: + The `jwt_secret` is an ascii string. + For each routes fill the `client_id` and `client_secret` with your own. + Note for caldav/gmail/youtube, use the same `client_id`/`client_secret`. The `client_id` must finish with `.apps.googleusercontent.com`. + + In the provider section, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) - **Step 2**: Go to front/android and create a \`gradle.properties\` file. Fill it with the informations in exemples/exemple_gradle. Fill `RELEASE_STORE_PASSWORD` and `RELEASE_KEY_PASSWORD` with your own password. The two must have an identical one. diff --git a/exemples/exemple_config b/exemples/exemple_config index 9647a70..c279c1e 100644 --- a/exemples/exemple_config +++ b/exemples/exemple_config @@ -1,14 +1,54 @@ [security] -jwt_secret = "hello_world_3301@083280948390" +jwt_secret = "" [db] uri="sqlite+aiosqlite:///app.db" -[providers] -[providers.discord] -client_id = id_exemple #1418965246885761106 -client_secret = secret_example #"JgGHjCxByc56UweRxbS978hWq9tpRbs4" +[routes.discord] +client_id = "" +client_secret = "" -[providers.github] -\# ... \ No newline at end of file +[routes.spotify] +# scope = "user-read-email user-read-currently-playing user-follow-read" +client_id = "" +client_secret = "" + +[routes.gmail] +# Provide your Google OAuth 2.0 Web client credentials +# Ensure the redirect URI http://127.0.0.1:8080/gmail/auth is added in Google Cloud Console +client_id = "" +client_secret = "" +# Optional: override scope or redirect URI here if needed +# scope = "https://www.googleapis.com/auth/gmail.readonly openid email profile" +# redirect_uri = "http://127.0.0.1:8080/gmail/auth" + +[routes.caldav] +# Uses Google OAuth credentials (you can reuse the same client as Gmail/YouTube) +# Add redirect URI: http://127.0.0.1:8080/caldav/auth +client_id = "" +client_secret = "" +# Optional overrides +# scope = "https://www.googleapis.com/auth/calendar.readonly openid email profile" +# redirect_uri = "http://127.0.0.1:8080/caldav/auth" + +[routes.youtube] +# Create OAuth credentials at https://console.cloud.google.com/apis/credentials +# Add http://127.0.0.1:8080/youtube/auth as an authorized redirect URI +client_id = "-." +client_secret = "" +# Optional overrides +# scope = "https://www.googleapis.com/auth/youtube.readonly openid email profile" +# redirect_uri = "http://127.0.0.1:8080/youtube/auth" + +[routes.reddit] +# Create a Reddit app at https://www.reddit.com/prefs/apps +# For local dev, use type: installed app (or web app) and add redirect URI: +# http://127.0.0.1:8080/reddit/auth +# Note: Installed apps have no secret; keep client_secret empty. Web apps have a secret. +client_id = "" +client_secret = "" +# Optional overrides: +# scope = "identity read" +# redirect_uri = "http://127.0.0.1:8080/reddit/auth" +# resource_headers.User-Agent should be descriptive; override via code if needed \ No newline at end of file From 32072f3aa2b7f33764c817a4cfb73db34903b8e4 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Wed, 5 Nov 2025 00:26:00 +0100 Subject: [PATCH 12/14] fix(examples): fix orthographe mistakes --- exemples/exemple_config => examples/example_config | 0 exemples/exemple_gradle => examples/example_gradle | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename exemples/exemple_config => examples/example_config (100%) rename exemples/exemple_gradle => examples/example_gradle (100%) diff --git a/exemples/exemple_config b/examples/example_config similarity index 100% rename from exemples/exemple_config rename to examples/example_config diff --git a/exemples/exemple_gradle b/examples/example_gradle similarity index 100% rename from exemples/exemple_gradle rename to examples/example_gradle From d8728112c1d0d2edde00877c61085af790f7514a Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Wed, 5 Nov 2025 00:29:07 +0100 Subject: [PATCH 13/14] refactor(readme): remove useless steps --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 643a001..c1543d3 100644 --- a/README.md +++ b/README.md @@ -51,16 +51,13 @@ The system is composed of three main parts: In the provider section, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) -- **Step 2**: Go to front/android and create a \`gradle.properties\` file. Fill it with the informations in exemples/exemple_gradle. Fill `RELEASE_STORE_PASSWORD` and `RELEASE_KEY_PASSWORD` with your own password. The two must have an identical one. +- **Step 2**: Go to front and create a \`gradle.properties\` file. Fill it with the informations in exemples/exemple_gradle. Fill `RELEASE_STORE_PASSWORD` and `RELEASE_KEY_PASSWORD` with your own password. The two must have an identical one. - **Step 3**: In your terminal run `keytool -genkey -v -keystore apk_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias alias;`. It will ask for a keystore password, put the one you chose for the second step. It will follow by asking more information; those information don't need to be necesarilly true. Enter 'y' to confirm the datas you entered. -- **Step 4**: run `docker build -t test -f android/Dockerfile . && docker run test:latest`. - -- **Step 5**: Connect to http://localhost:8081/client.apk to download the mobile app. - +- **Step 4**: Run `docker compose up --build` ### Services From 3920bf4b39ef8353a84cba14d869ab0c8a036e21 Mon Sep 17 00:00:00 2001 From: Lilian Bazantay Date: Wed, 5 Nov 2025 00:37:32 +0100 Subject: [PATCH 14/14] feat(readme): add database and routes explanations --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c1543d3..ab92c9e 100644 --- a/README.md +++ b/README.md @@ -46,10 +46,11 @@ The system is composed of three main parts: - **Step 1**: Go to back and a create a \`config.toml\` file. Fill it based on the data in exemples/exemple_config: The `jwt_secret` is an ascii string. + Create an `uri` (or copy for exemples/exemple_config) and fill it with `"sqlite+aiosqlite:///app.db"`. + Each routes is defined following that structure: [routes.{service}]. The list of services can be found in back/app/routes. For each routes fill the `client_id` and `client_secret` with your own. Note for caldav/gmail/youtube, use the same `client_id`/`client_secret`. The `client_id` must finish with `.apps.googleusercontent.com`. - In the provider section, replace the client_id and client_secret with your client_id and client_secret. Repeat for every provider. (They can be found in back/app/routes) - **Step 2**: Go to front and create a \`gradle.properties\` file. Fill it with the informations in exemples/exemple_gradle. Fill `RELEASE_STORE_PASSWORD` and `RELEASE_KEY_PASSWORD` with your own password. The two must have an identical one.