From 8f95f1bf3111d768001fb07dca5564d7c708f118 Mon Sep 17 00:00:00 2001 From: Marc Muehlheim Date: Fri, 17 Nov 2023 20:47:23 +0100 Subject: [PATCH 1/4] Update readMe, clean up unused folders and items --- .DS_Store | Bin 8196 -> 0 bytes .expo/README.md | 15 - .github/workflows/app-deployment.yml | 2 +- .github/workflows/backend.yml | 2 +- .gitignore | 3 - .vscode/settings.json | 5 - Documentation.md | 49 ---- Mockups/App_Wireframes.bmpr | Bin 151552 -> 0 bytes Mockups/Mockup_PDF's.pdf | Bin 65707 -> 0 bytes Mockups/README.md | 3 - OsmApi/OSMAPI.postman_collection.json | 223 --------------- README.md | 79 +++--- README_en.md | 75 ++--- app/.env.template | 3 + app/{defikarte => }/.eslintrc.js | 0 app/{defikarte => }/.gitignore | 0 app/{defikarte => }/.prettierrc | 0 app/{defikarte => }/App.js | 0 app/{defikarte => }/app.config.js | 0 app/{defikarte => }/app.json | 0 app/{defikarte => }/assets/icon.png | Bin .../AppIcon.appiconset/100.png | Bin .../AppIcon.appiconset/1024.png | Bin .../AppIcon.appiconset/114.png | Bin .../AppIcon.appiconset/120.png | Bin .../AppIcon.appiconset/128.png | Bin .../AppIcon.appiconset/144.png | Bin .../AppIcon.appiconset/152.png | Bin .../Assets.xcassets/AppIcon.appiconset/16.png | Bin .../AppIcon.appiconset/167.png | Bin .../AppIcon.appiconset/172.png | Bin .../AppIcon.appiconset/180.png | Bin .../AppIcon.appiconset/196.png | Bin .../Assets.xcassets/AppIcon.appiconset/20.png | Bin .../AppIcon.appiconset/216.png | Bin .../AppIcon.appiconset/256.png | Bin .../Assets.xcassets/AppIcon.appiconset/29.png | Bin .../Assets.xcassets/AppIcon.appiconset/32.png | Bin .../Assets.xcassets/AppIcon.appiconset/40.png | Bin .../Assets.xcassets/AppIcon.appiconset/48.png | Bin .../Assets.xcassets/AppIcon.appiconset/50.png | Bin .../AppIcon.appiconset/512.png | Bin .../Assets.xcassets/AppIcon.appiconset/55.png | Bin .../Assets.xcassets/AppIcon.appiconset/57.png | Bin .../Assets.xcassets/AppIcon.appiconset/58.png | Bin .../Assets.xcassets/AppIcon.appiconset/60.png | Bin .../Assets.xcassets/AppIcon.appiconset/64.png | Bin .../Assets.xcassets/AppIcon.appiconset/72.png | Bin .../Assets.xcassets/AppIcon.appiconset/76.png | Bin .../Assets.xcassets/AppIcon.appiconset/80.png | Bin .../Assets.xcassets/AppIcon.appiconset/87.png | Bin .../Assets.xcassets/AppIcon.appiconset/88.png | Bin .../AppIcon.appiconset/Contents.json | 0 app/{defikarte => }/assets/icons/appstore.png | Bin .../assets/icons/playstore.png | Bin app/{defikarte => }/assets/logo_defikarte.png | Bin .../assets/logos/Defikarte.ch Logo V8.9.eps | Bin .../assets/logos/Defikarte.ch Logo V8.9.jpg | Bin .../assets/logos/Defikarte.ch Logo V8.9.pdf | Bin .../assets/logos/Defikarte.ch Logo V8.9.png | Bin .../logos/Defikarte.ch Logo V9.10 FB.eps | Bin .../logos/Defikarte.ch Logo V9.10 FB.jpg | Bin .../logos/Defikarte.ch Logo V9.10 FB.pdf | Bin .../logos/Defikarte.ch Logo V9.10 FB.png | Bin app/{defikarte => }/assets/marker.png | Bin app/{defikarte => }/assets/procamed.jpg | Bin app/{defikarte => }/assets/splash.png | Bin app/{defikarte => }/babel.config.js | 0 .../icons/android/mipmap-hdpi/defi_icon.png | Bin 5514 -> 0 bytes .../icons/android/mipmap-mdpi/defi_icon.png | Bin 3193 -> 0 bytes .../icons/android/mipmap-xhdpi/defi_icon.png | Bin 8418 -> 0 bytes .../icons/android/mipmap-xxhdpi/defi_icon.png | Bin 15478 -> 0 bytes .../android/mipmap-xxxhdpi/defi_icon.png | Bin 22757 -> 0 bytes app/{defikarte => }/eas.json | 0 app/{defikarte => }/package-lock.json | 0 app/{defikarte => }/package.json | 0 .../src/api/defikarteBackend.js | 0 .../src/components/AttributeListing.js | 0 .../src/components/CreateMapOverlay.js | 0 .../src/components/DefiItem.js | 0 .../src/components/DefiMarker.js | 0 .../src/components/DetailMapOverlay.js | 0 .../src/components/ErrorBoundary.js | 0 .../src/components/LocationButton.js | 0 .../src/components/LocationError.js | 0 app/{defikarte => }/src/components/Map.js | 0 .../src/components/MapInfoPanel.js | 0 .../src/components/MapLayersButton.js | 0 .../src/components/OsmContributerOverlay.js | 0 .../src/components/SimpleMarker.js | 0 .../src/components/SwitchForm.js | 0 .../src/components/Template.js | 0 .../src/components/TextForm.js | 0 .../src/components/WarningInfoPanel.js | 0 app/{defikarte => }/src/config/createForm.js | 0 .../src/context/DefibrillatorContext.js | 0 .../src/context/InfoContext.js | 0 .../src/context/LocationContext.js | 0 .../src/context/createDataContext.js | 0 .../src/helpers/coordinateCalc.js | 0 .../src/helpers/markersOnMap.js | 0 .../src/hooks/useDefibrillators.js | 0 app/{defikarte => }/src/hooks/useLocation.js | 0 app/{defikarte => }/src/i18n/i18n.js | 0 .../src/screens/AboutScreen.js | 0 .../src/screens/CreateScreen.js | 0 .../src/screens/DetailScreen.js | 0 app/{defikarte => }/src/screens/ListScreen.js | 0 app/{defikarte => }/src/screens/MainScreen.js | 0 backend/{DefikarteBackend => }/.gitignore | 2 + .../Cache/BlobStorageCacheRepository.cs | 0 .../Cache/ICacheRepository.cs | 0 .../Configuration/ServiceConfiguration.cs | 0 .../DefibrillatorFunction.cs | 0 .../DefikarteBackend.csproj | 0 .../DefikarteBackend.sln | 2 +- .../DefikarteBackend/.gitignore | 264 ------------------ .../Model/DefibrillatorRequest.cs | 0 .../DefikarteBackend => }/Model/OsmNode.cs | 0 .../OsmOverpassApi/OverpassClient.cs | 0 .../Properties/serviceDependencies.json | 0 .../Properties/serviceDependencies.local.json | 0 .../SimpleCacheFunction.cs | 0 .../DefikarteBackend => }/Startup.cs | 0 .../DefibrillatorRequestValidator.cs | 0 .../Validation/HttpRequestExtension.cs | 0 .../Validation/ValidateableRequest.cs | 0 .../Validation/ValidationExtension.cs | 0 .../DefikarteBackend => }/host.json | 0 docs/Requirements.md | 49 ---- images/appstore.png | Bin 5344 -> 0 bytes images/playstore.png | Bin 5192 -> 0 bytes production/.expo/README.md | 15 - 133 files changed, 93 insertions(+), 698 deletions(-) delete mode 100644 .DS_Store delete mode 100644 .expo/README.md delete mode 100644 .vscode/settings.json delete mode 100644 Documentation.md delete mode 100644 Mockups/App_Wireframes.bmpr delete mode 100644 Mockups/Mockup_PDF's.pdf delete mode 100644 Mockups/README.md delete mode 100644 OsmApi/OSMAPI.postman_collection.json create mode 100644 app/.env.template rename app/{defikarte => }/.eslintrc.js (100%) rename app/{defikarte => }/.gitignore (100%) rename app/{defikarte => }/.prettierrc (100%) rename app/{defikarte => }/App.js (100%) rename app/{defikarte => }/app.config.js (100%) rename app/{defikarte => }/app.json (100%) rename app/{defikarte => }/assets/icon.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/100.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/1024.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/114.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/120.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/128.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/144.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/152.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/16.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/167.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/172.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/180.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/196.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/20.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/216.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/256.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/29.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/32.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/40.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/48.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/50.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/512.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/55.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/57.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/58.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/60.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/64.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/72.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/76.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/80.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/87.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/88.png (100%) rename app/{defikarte => }/assets/icons/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename app/{defikarte => }/assets/icons/appstore.png (100%) rename app/{defikarte => }/assets/icons/playstore.png (100%) rename app/{defikarte => }/assets/logo_defikarte.png (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V8.9.eps (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V8.9.jpg (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V8.9.pdf (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V8.9.png (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V9.10 FB.eps (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V9.10 FB.jpg (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V9.10 FB.pdf (100%) rename app/{defikarte => }/assets/logos/Defikarte.ch Logo V9.10 FB.png (100%) rename app/{defikarte => }/assets/marker.png (100%) rename app/{defikarte => }/assets/procamed.jpg (100%) rename app/{defikarte => }/assets/splash.png (100%) rename app/{defikarte => }/babel.config.js (100%) delete mode 100644 app/defikarte/assets/icons/android/mipmap-hdpi/defi_icon.png delete mode 100644 app/defikarte/assets/icons/android/mipmap-mdpi/defi_icon.png delete mode 100644 app/defikarte/assets/icons/android/mipmap-xhdpi/defi_icon.png delete mode 100644 app/defikarte/assets/icons/android/mipmap-xxhdpi/defi_icon.png delete mode 100644 app/defikarte/assets/icons/android/mipmap-xxxhdpi/defi_icon.png rename app/{defikarte => }/eas.json (100%) rename app/{defikarte => }/package-lock.json (100%) rename app/{defikarte => }/package.json (100%) rename app/{defikarte => }/src/api/defikarteBackend.js (100%) rename app/{defikarte => }/src/components/AttributeListing.js (100%) rename app/{defikarte => }/src/components/CreateMapOverlay.js (100%) rename app/{defikarte => }/src/components/DefiItem.js (100%) rename app/{defikarte => }/src/components/DefiMarker.js (100%) rename app/{defikarte => }/src/components/DetailMapOverlay.js (100%) rename app/{defikarte => }/src/components/ErrorBoundary.js (100%) rename app/{defikarte => }/src/components/LocationButton.js (100%) rename app/{defikarte => }/src/components/LocationError.js (100%) rename app/{defikarte => }/src/components/Map.js (100%) rename app/{defikarte => }/src/components/MapInfoPanel.js (100%) rename app/{defikarte => }/src/components/MapLayersButton.js (100%) rename app/{defikarte => }/src/components/OsmContributerOverlay.js (100%) rename app/{defikarte => }/src/components/SimpleMarker.js (100%) rename app/{defikarte => }/src/components/SwitchForm.js (100%) rename app/{defikarte => }/src/components/Template.js (100%) rename app/{defikarte => }/src/components/TextForm.js (100%) rename app/{defikarte => }/src/components/WarningInfoPanel.js (100%) rename app/{defikarte => }/src/config/createForm.js (100%) rename app/{defikarte => }/src/context/DefibrillatorContext.js (100%) rename app/{defikarte => }/src/context/InfoContext.js (100%) rename app/{defikarte => }/src/context/LocationContext.js (100%) rename app/{defikarte => }/src/context/createDataContext.js (100%) rename app/{defikarte => }/src/helpers/coordinateCalc.js (100%) rename app/{defikarte => }/src/helpers/markersOnMap.js (100%) rename app/{defikarte => }/src/hooks/useDefibrillators.js (100%) rename app/{defikarte => }/src/hooks/useLocation.js (100%) rename app/{defikarte => }/src/i18n/i18n.js (100%) rename app/{defikarte => }/src/screens/AboutScreen.js (100%) rename app/{defikarte => }/src/screens/CreateScreen.js (100%) rename app/{defikarte => }/src/screens/DetailScreen.js (100%) rename app/{defikarte => }/src/screens/ListScreen.js (100%) rename app/{defikarte => }/src/screens/MainScreen.js (100%) rename backend/{DefikarteBackend => }/.gitignore (99%) rename backend/{DefikarteBackend/DefikarteBackend => }/Cache/BlobStorageCacheRepository.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Cache/ICacheRepository.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Configuration/ServiceConfiguration.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/DefibrillatorFunction.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/DefikarteBackend.csproj (100%) rename backend/{DefikarteBackend => }/DefikarteBackend.sln (91%) delete mode 100644 backend/DefikarteBackend/DefikarteBackend/.gitignore rename backend/{DefikarteBackend/DefikarteBackend => }/Model/DefibrillatorRequest.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Model/OsmNode.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/OsmOverpassApi/OverpassClient.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Properties/serviceDependencies.json (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Properties/serviceDependencies.local.json (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/SimpleCacheFunction.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Startup.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Validation/DefibrillatorRequestValidator.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Validation/HttpRequestExtension.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Validation/ValidateableRequest.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/Validation/ValidationExtension.cs (100%) rename backend/{DefikarteBackend/DefikarteBackend => }/host.json (100%) delete mode 100644 docs/Requirements.md delete mode 100644 images/appstore.png delete mode 100644 images/playstore.png delete mode 100644 production/.expo/README.md diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f11d30706e6cb9af8155fc7f7064d435e7f29eae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHLF>4e-6#m9Ll7I$65J|aMX%k3mwFze_2GR*aayhw#At7&I=G&Y1-n?(V+1uG!0B+@Aummgsm|+#1yUk`o z5xdkzxfOddqGLREhf8al#i(p}T8AlM3YY?>fGJ=KTonblXG@uB+4qChT2sIjxRDCT z^C4pu%p+C-{iB18KLQZD?DmD%b8#l2xos5{ql%azz_}> z4<9aOcJYMbe0GkXd3U%xptYueDbQ3PV^-;!B4f$(6(^b diff --git a/.expo/README.md b/.expo/README.md deleted file mode 100644 index fd146b4..0000000 --- a/.expo/README.md +++ /dev/null @@ -1,15 +0,0 @@ -> Why do I have a folder named ".expo" in my project? - -The ".expo" folder is created when an Expo project is started using "expo start" command. - -> What do the files contain? - -- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. -- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator. -- "settings.json": contains the server configuration that is used to serve the application manifest. - -> Should I commit the ".expo" folder? - -No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. - -Upon project creation, the ".expo" folder is already added to your ".gitignore" file. diff --git a/.github/workflows/app-deployment.yml b/.github/workflows/app-deployment.yml index 11b2ed0..deeaed7 100644 --- a/.github/workflows/app-deployment.yml +++ b/.github/workflows/app-deployment.yml @@ -11,7 +11,7 @@ on: workflow_dispatch: env: - APP_SRC_PATH: "./app/defikarte/" # set this to the path to your web app project, defaults to the repository root + APP_SRC_PATH: "./app/" # set this to the path to your web app project, defaults to the repository root RELEASE_PROFILE: "${{ github.ref == 'refs/heads/main' && 'production' || 'preview' }}" REACT_NATIVE_BASE_URL: "${{ github.ref == 'refs/heads/main' && 'https://defikarte-backend.azurewebsites.net/api' || 'https://defikarte-backend-staging.azurewebsites.net/api' }}" REACT_NATIVE_GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API }} diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 2c7574f..9c7140b 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -15,7 +15,7 @@ on: env: AZURE_FUNCTIONAPP_NAME: defikarte-backend # set this to your application's name - AZURE_FUNCTIONAPP_PACKAGE_PATH: './backend/DefikarteBackend/DefikarteBackend/' # set this to the path to your web app project, defaults to the repository root + AZURE_FUNCTIONAPP_PACKAGE_PATH: './backend/' # set this to the path to your web app project, defaults to the repository root DOTNET_VERSION: '6.0.x' # set this to the dotnet version to use SLOT_NAME: "${{ github.ref == 'refs/heads/main' && 'production' || 'staging' }}" diff --git a/.gitignore b/.gitignore index d4c0277..e43b0f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ - -.DS_Store -.DS_Store .DS_Store diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index b242572..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "githubPullRequests.ignoredPullRequestBranches": [ - "main" - ] -} \ No newline at end of file diff --git a/Documentation.md b/Documentation.md deleted file mode 100644 index c79b625..0000000 --- a/Documentation.md +++ /dev/null @@ -1,49 +0,0 @@ -# erweiterte technische Dokumentation - -Dieses Dokument beschreibt die erweiterte technische Dokumentation der Defikarten App. - -Die App wird mit [React Native](https://reactnative.dev/) und [Expo](https://expo.io) entwickelt. Die Backend-API wurde in .Net mit [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview) implementiert. - -## Voraussetzungen - -Systemanforderungen App (React Native): -* Node.js Version >=14 -* npm -* VS Code (empfohlen) -* iOS oder Android Gerät zum download der [iOS App](https://apps.apple.com/ch/app/expo-client/id982107779) oder [Android App](https://play.google.com/store/apps/details?id=host.exp.exponent&hl=de_CH&gl=US) -* Alternativ kann auch ein iOS oder Android Simulator zum testen verwendet werden (nicht geprüft oder konfiguriert innerhalb diese Projektes) - -Starten der Entwicklungsumgebung (App/React Native) -* Installieren der expo-cli: `npm install expo-cli -g` (installiert expo global auf deinem Gerät) -* .env-File mit nötigen Environment-Variablen defikarte-Verzeichnis anlegen -* Zuerst `npm install` und danach `npm start` ausführen -* Scanne den QR-Code auf der neu geöffneten Website mit deinem Smartphone / Tablet -* Öffne den Link mit der Expo-App -* Beginne zu testen - -Systemanforderungen Backend (Azure Functions): -* .Net Core 3.1 -* Visual Studio 2019 inkl. Azure Entwicklung -* Postman (empfohlen) - -Starten der Entwicklungsumgebung (Backend / Azure Functions) -* DefikarteBackend.sln mit Visual Studio öffnen -* local.settings.json hinzufügen (wird für Storage emulation benötigt) -* Projekt starten -* Mit Postman http-requests ausführen (siehe Console für locale Ports) - -## Funktionen - -### Einen Defi anlegen - - - -### Defi publizieren mittels OSM API - - - -### Benutzer lokalisieren - - - -## Snippets diff --git a/Mockups/App_Wireframes.bmpr b/Mockups/App_Wireframes.bmpr deleted file mode 100644 index 95df31f6d11f047221cfe1952069d99cee24a4a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151552 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 diff --git a/Mockups/README.md b/Mockups/README.md deleted file mode 100644 index 86727a2..0000000 --- a/Mockups/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Mockups - -Just some mockups of how the app could look like.. diff --git a/OsmApi/OSMAPI.postman_collection.json b/OsmApi/OSMAPI.postman_collection.json deleted file mode 100644 index 8455698..0000000 --- a/OsmApi/OSMAPI.postman_collection.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "info": { - "_postman_id": "c01c2e1c-6483-4631-9146-ea25bc57071f", - "name": "OSM API", - "description": "API to get defibirllators over overpass api, and create them over the default osm api.", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Node Create - PUT", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "\r\n \r\n \r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "{{baseUrl}}api/0.6/node/create", - "host": [ - "{{baseUrl}}api" - ], - "path": [ - "0.6", - "node", - "create" - ] - } - }, - "response": [] - }, - { - "name": "Node - GET", - "protocolProfileBehavior": { - "disabledSystemHeaders": { - "accept": true - } - }, - "request": { - "auth": { - "type": "noauth" - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}api/0.6/node/1468855333", - "host": [ - "{{baseUrl}}api" - ], - "path": [ - "0.6", - "node", - "1468855333" - ] - } - }, - "response": [] - }, - { - "name": "Node OverpassAPI - GET", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "noauth" - }, - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "/*\r\nThis has been generated by the overpass-turbo wizard.\r\nThe original search was:\r\n“emergency=defibrillator and opening_hours=\"24/7\" in CH”\r\n*/\r\n[out:json][timeout:25];\r\n// fetch area “CH” to search in\r\n( area[\"ISO3166-1\"=\"CH\"][admin_level=2]; )->.searchArea;\r\n// gather results\r\n(\r\n // query part for: “emergency=defibrillator and opening_hours=\"24/7\"”\r\n node[\"emergency\"=\"defibrillator\"][\"opening_hours\"=\"24/7\"](area.searchArea);\r\n way[\"emergency\"=\"defibrillator\"][\"opening_hours\"=\"24/7\"](area.searchArea);\r\n relation[\"emergency\"=\"defibrillator\"][\"opening_hours\"=\"24/7\"](area.searchArea);\r\n);\r\n// print results\r\nout body;\r\n>;\r\nout skel qt;", - "options": { - "raw": { - "language": "text" - } - } - }, - "url": { - "raw": "{{overpassApiUrl}}api/interpreter", - "host": [ - "{{overpassApiUrl}}api" - ], - "path": [ - "interpreter" - ] - } - }, - "response": [] - }, - { - "name": "Changeset Create - PUT", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "\r\n \r\n \r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "{{baseUrl}}api/0.6/changeset/create", - "host": [ - "{{baseUrl}}api" - ], - "path": [ - "0.6", - "changeset", - "create" - ] - } - }, - "response": [] - }, - { - "name": "Changeset /download - GET", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "\r\n \r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "{{baseUrl}}api/0.6/changeset/188407/download", - "host": [ - "{{baseUrl}}api" - ], - "path": [ - "0.6", - "changeset", - "188407", - "download" - ] - } - }, - "response": [] - } - ], - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "b125b9c1-810d-46f4-bc60-0798fc181916", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "af7f09bb-855b-4e00-afa2-ef764d2462c4", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "id": "e64e114b-0a48-4333-b43b-e2a6f0461b5f", - "key": "username", - "value": "yourusernamegoeshere" - }, - { - "id": "38ce3002-0881-492e-b7e6-c138402ac168", - "key": "password", - "value": "yourpasswordgoeshere" - }, - { - "id": "67f0f25b-ffe4-4bd4-882c-3ea98b30de11", - "key": "baseUrl", - "value": "https://master.apis.dev.openstreetmap.org/" - }, - { - "id": "b702b09c-710f-4ec0-9a4b-1d79c935d02e", - "key": "overpassApiUrl", - "value": "https://overpass.osm.ch/" - } - ], - "protocolProfileBehavior": {} -} \ No newline at end of file diff --git a/README.md b/README.md index dd88f4b..73473ac 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # Defikarte.ch - die App -![Picture](app/defikarte/assets/icons/appstore.png) +defikarte.ch This Page is also available in English, please visit: [English 👈🏻](README_en.md) @@ -21,43 +21,52 @@ Die App ist ein Projekt von [Defikarte.ch](https://www.defikarte.ch) und soll he Die App zu Defikarte.ch findet man in den Stores des jeweiligen Anbieters. -[![appstore.png](images/appstore.png)](https://apps.apple.com/us/app/defikarte-ch/id1549569525) + ## Entwicklung -Die App wird mit [React Native](https://reactnative.dev/) und [Expo](https://expo.io) entwickelt. Die Backend-API wurde in .Net mit [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview) implementiert. +Zur Entwicklung der Mobile-App (Android & iOS) wird [React Native](https://reactnative.dev/) und [Expo](https://expo.io) verwendet. Das Backend (REST-API) ist mit .Net (c#) und [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview) implementiert. + +### Getting started Mobile-App (React Native): -Systemanforderungen App (React Native): -* Node.js Version >=14 -* npm -* VS Code (empfohlen) -* iOS oder Android Gerät zum download der [iOS App](https://apps.apple.com/ch/app/expo-client/id982107779) oder [Android App](https://play.google.com/store/apps/details?id=host.exp.exponent&hl=de_CH&gl=US) -* Alternativ kann auch ein iOS oder Android Simulator zum testen verwendet werden (nicht geprüft oder konfiguriert innerhalb diese Projektes) +Entwicklungsumgebung & Tools: + +- Node.js Version >=18 & npm +- VS Code +- ExpoGO für Android oder iOS (Simulatoren können verwendet werden) Starten der Entwicklungsumgebung (App/React Native) -* Installieren der expo-cli: `npm install expo-cli -g` (installiert expo global auf deinem Gerät) -* .env-File mit nötigen Environment-Variablen defikarte-Verzeichnis anlegen -* Zuerst `npm install` und danach `npm start` ausführen -* Scanne den QR-Code auf der neu geöffneten Website mit deinem Smartphone / Tablet -* Öffne den Link mit der Expo-App -* Beginne zu testen - -Systemanforderungen Backend (Azure Functions): -* .Net Core 3.1 -* Visual Studio oder Visual Studio Code inkl. Azure Entwicklung -* Postman (empfohlen) + +- `cd app` +- .env-File mit nötigen Environment-Variablen app-Verzeichnis anlegen (siehe .env.template) +- `npm install` und danach `npx expo start` ausführen (startet die Expo-App) +- Scanne den QR-Code in der Konsole mit dem Entwicklungsgerät => ExpoGO-App startet + +### Getting started Backend (.Net/Azure Functions): + +Enticklungsumgbeung & Tools: + +- x86-Umgebung (Apple Silicon wird aktuell nicht untersützt) +- .Net 6 +- Visual Studio oder Visual Studio Code inkl. Azure Function Core Tools +- Postman (empfohlen) Starten der Entwicklungsumgebung (Backend / Azure Functions) -* DefikarteBackend.sln mit Visual Studio öffnen -* local.settings.json hinzufügen (wird für Storage emulation benötigt) -* Projekt starten -* Mit Postman http-requests ausführen (siehe Console für locale Ports) + +- `cd backend` +- DefikarteBackend.sln mit Visual Studio / Order in VS Code öffnen +- local.settings.json hinzufügen (wird für Storage emulation benötigt) +- In Visual Studio debugging starten / `dotnet run` +- Mit Postman http-requests ausführen (siehe Console für locale Ports) ## Mitmachen -Wir sind immer auf der Suche nach motivierten, offenen Mitwirkenden die unser Projekt unterstützen wollen. Löse ein Issue, erfasse ein Issue, schreibe neue Funktionen usw. +Wir sind immer auf der Suche nach motivierten, offenen Mitwirkenden die unser Projekt unterstützen wollen. Löse ein Issue, erfasse ein Issue oder entwickle ein neues Feature! ### Mitwirkende @@ -67,22 +76,22 @@ Wir sind immer auf der Suche nach motivierten, offenen Mitwirkenden die unser Pr ## Sponsoren -Bitte lese [SPONSORING.md](SPONSORING.md) +Bitte lies [SPONSORING.md](SPONSORING.md) ### Platin Sponsoren -* [Procamed](https://www.procamed.ch) -* [Lifetec](https://www.lifetec.ch) +- [Procamed](https://www.procamed.ch) +- [Lifetec](https://www.lifetec.ch) ### Gold Sponsoren -* [First-Responder.ch](https://www.procamed.ch) +- [First-Responder.ch](https://www.procamed.ch) ### Logo Sponsoren -* [Hexagon](http://www.hexagonsi.com) -* [Hostpoint](http://www.hostpoint.ch) -* [WC Guide](https://www.wc-guide.com) -* [SIRMED](https://www.sirmed.ch) +- [Hexagon](http://www.hexagonsi.com) +- [Hostpoint](http://www.hostpoint.ch) +- [WC Guide](https://www.wc-guide.com) +- [SIRMED](https://www.sirmed.ch) -[Sponsore uns](https://github.com/sponsors/chnuessli) +[Werde zum Sponsor](https://github.com/sponsors/chnuessli) diff --git a/README_en.md b/README_en.md index c7643bf..b0531c8 100644 --- a/README_en.md +++ b/README_en.md @@ -1,6 +1,6 @@ # Defikarte.ch - the App -![Picture](/app/defikarte/assets/icons/appstore.png) +defikarte.ch ## Purpose of the app @@ -16,42 +16,49 @@ The app is a project by [Defikarte.ch](https://www.defikarte.ch) and is intended The App is available in the Appstores. -[![appstore.png](images/appstore.png)](https://apps.apple.com/us/app/defikarte-ch/id1549569525) +
+Download on the App Store -[![playstore.png](images/playstore.png)](https://play.google.com/store/apps/details?id=ch.defikarte.app) +Jetzt bei Google Play + +
## Development -The app is developed using [React Native](https://reactnative.dev/) and [Expo](https://expo.io). The backend API was implemented in .Net using [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview). -System Requirements App (React Native): -* Node.js version >=14 -* npm -* VS Code (recommended). -* Andorid or iOS device to download [iOS App](https://apps.apple.com/ch/app/expo-client/id982107779) or [Android App](https://play.google.com/store/apps/details?id=host.exp.exponent&hl=de_CH&gl=US) -* You can also use an iOS or Android simulator (not tested or setup) +The mobile-app (android & iOS) is developed using [React Native](https://reactnative.dev/) and [Expo](https://expo.io). The backend (REST-API) ist implemented in .Net using [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview). + +### Getting started Mobile-App (React Native): + +IDE & Tools: + +- Node.js Version >=18 & npm +- VS Code +- ExpoGO für Android oder iOS (emulators are supported) Starting the development environment (App/React Native). -* Install expo-cli: `npm install expo-cli -g` (installs expo globally on your device) -* Create .env file with necessary environment variables in the defikarte directory -* First run `npm install` and then run `npm start` -* scan the QR code on the newly opened website with your smartphone / tablet -* Open the link with the Expo app -* Start testing - -System Requirements Backend (Azure Functions): -* .Net Core 3.1 -* Visual Studio or Visual Studio Code incl. Azure development -* Postman (recommended) +- `cd app` +- Create .env-File according to .env.template +- Execute `npm install` && `npx expo start` (starts the Expo-App) +- Scn the QR-Code displayed in the console => ExpoGO-App starts + +### Getting started Backend (.Net/Azure Functions): +IDE & Tools +- x86-environment (Apple Silicon is not yet supported) +- .Net 6 +- Visual Studio or Visual Studio Code incl. Azure Function Core Tools +- Postman (recommended) Starting the development environment (Backend / Azure Functions). -* Open DeficarteBackend.sln with Visual Studio -* add local.settings.json (needed for storage emulation) -* Start project -* Execute http-requests with Postman (see console for local ports) + +- `cd backend` +- Open DeficarteBackend.sln with Visual Studio +- add local.settings.json (needed for storage emulation) +- Start debugging in Visual Studio / `dotnet run` +- Execute http-requests with Postman (see console for local ports) ## Contribute -We are looking for motivated contributors that help us, to make the app better. Solve an issue, create an issue, write some new functions. +We are looking for motivated contributors that help us, to make the app better. Solve or create an issue, develope new features. ### Contributors @@ -65,18 +72,18 @@ Please read [SPONSORING.md](SPONSORING.md) ### Platin Sponsor -* [Procamed](https://www.procamed.ch) -* [Lifetec](https://www.lifetec.ch) +- [Procamed](https://www.procamed.ch) +- [Lifetec](https://www.lifetec.ch) ### Gold Sponsors -* [First-Responder.ch](https://www.procamed.ch) +- [First-Responder.ch](https://www.procamed.ch) ### Logo Sponsors -* [Hexagon](http://www.hexagonsi.com) -* [Hostpoint](http://www.hostpoint.ch) -* [WC Guide](https://www.wc-guide.com) -* [SIRMED](https://www.sirmed.ch) +- [Hexagon](http://www.hexagonsi.com) +- [Hostpoint](http://www.hostpoint.ch) +- [WC Guide](https://www.wc-guide.com) +- [SIRMED](https://www.sirmed.ch) -[Sponsor us](https://github.com/sponsors/chnuessli) +[Become a Sponsor](https://github.com/sponsors/chnuessli) diff --git a/app/.env.template b/app/.env.template new file mode 100644 index 0000000..5dc8082 --- /dev/null +++ b/app/.env.template @@ -0,0 +1,3 @@ +EXPO_PUBLIC_BASE_URL=https://defikarte-backend-staging.azurewebsites.net/api +EXPO_PUBLIC_API_KEY=EXPO_PUBLIC_API_KEY +EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=EXPO_PUBLIC_GOOGLE_MAPS_API_KEY \ No newline at end of file diff --git a/app/defikarte/.eslintrc.js b/app/.eslintrc.js similarity index 100% rename from app/defikarte/.eslintrc.js rename to app/.eslintrc.js diff --git a/app/defikarte/.gitignore b/app/.gitignore similarity index 100% rename from app/defikarte/.gitignore rename to app/.gitignore diff --git a/app/defikarte/.prettierrc b/app/.prettierrc similarity index 100% rename from app/defikarte/.prettierrc rename to app/.prettierrc diff --git a/app/defikarte/App.js b/app/App.js similarity index 100% rename from app/defikarte/App.js rename to app/App.js diff --git a/app/defikarte/app.config.js b/app/app.config.js similarity index 100% rename from app/defikarte/app.config.js rename to app/app.config.js diff --git a/app/defikarte/app.json b/app/app.json similarity index 100% rename from app/defikarte/app.json rename to app/app.json diff --git a/app/defikarte/assets/icon.png b/app/assets/icon.png similarity index 100% rename from app/defikarte/assets/icon.png rename to app/assets/icon.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/100.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/100.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/100.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/100.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/1024.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/1024.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/1024.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/1024.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/114.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/114.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/114.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/114.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/120.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/120.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/120.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/120.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/128.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/128.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/128.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/128.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/144.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/144.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/144.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/144.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/152.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/152.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/152.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/152.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/16.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/16.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/16.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/16.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/167.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/167.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/167.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/167.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/172.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/172.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/172.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/172.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/180.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/180.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/180.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/180.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/196.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/196.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/196.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/196.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/20.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/20.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/20.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/20.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/216.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/216.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/216.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/216.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/256.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/256.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/256.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/256.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/29.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/29.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/29.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/29.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/32.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/32.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/32.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/32.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/40.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/40.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/40.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/40.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/48.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/48.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/48.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/48.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/50.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/50.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/50.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/50.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/512.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/512.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/512.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/512.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/55.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/55.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/55.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/55.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/57.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/57.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/57.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/57.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/58.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/58.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/58.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/58.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/60.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/60.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/60.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/60.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/64.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/64.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/64.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/64.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/72.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/72.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/72.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/72.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/76.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/76.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/76.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/76.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/80.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/80.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/80.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/80.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/87.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/87.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/87.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/87.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/88.png b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/88.png similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/88.png rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/88.png diff --git a/app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/Contents.json b/app/assets/icons/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from app/defikarte/assets/icons/Assets.xcassets/AppIcon.appiconset/Contents.json rename to app/assets/icons/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/app/defikarte/assets/icons/appstore.png b/app/assets/icons/appstore.png similarity index 100% rename from app/defikarte/assets/icons/appstore.png rename to app/assets/icons/appstore.png diff --git a/app/defikarte/assets/icons/playstore.png b/app/assets/icons/playstore.png similarity index 100% rename from app/defikarte/assets/icons/playstore.png rename to app/assets/icons/playstore.png diff --git a/app/defikarte/assets/logo_defikarte.png b/app/assets/logo_defikarte.png similarity index 100% rename from app/defikarte/assets/logo_defikarte.png rename to app/assets/logo_defikarte.png diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V8.9.eps b/app/assets/logos/Defikarte.ch Logo V8.9.eps similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V8.9.eps rename to app/assets/logos/Defikarte.ch Logo V8.9.eps diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V8.9.jpg b/app/assets/logos/Defikarte.ch Logo V8.9.jpg similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V8.9.jpg rename to app/assets/logos/Defikarte.ch Logo V8.9.jpg diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V8.9.pdf b/app/assets/logos/Defikarte.ch Logo V8.9.pdf similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V8.9.pdf rename to app/assets/logos/Defikarte.ch Logo V8.9.pdf diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V8.9.png b/app/assets/logos/Defikarte.ch Logo V8.9.png similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V8.9.png rename to app/assets/logos/Defikarte.ch Logo V8.9.png diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.eps b/app/assets/logos/Defikarte.ch Logo V9.10 FB.eps similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.eps rename to app/assets/logos/Defikarte.ch Logo V9.10 FB.eps diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.jpg b/app/assets/logos/Defikarte.ch Logo V9.10 FB.jpg similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.jpg rename to app/assets/logos/Defikarte.ch Logo V9.10 FB.jpg diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.pdf b/app/assets/logos/Defikarte.ch Logo V9.10 FB.pdf similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.pdf rename to app/assets/logos/Defikarte.ch Logo V9.10 FB.pdf diff --git a/app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.png b/app/assets/logos/Defikarte.ch Logo V9.10 FB.png similarity index 100% rename from app/defikarte/assets/logos/Defikarte.ch Logo V9.10 FB.png rename to app/assets/logos/Defikarte.ch Logo V9.10 FB.png diff --git a/app/defikarte/assets/marker.png b/app/assets/marker.png similarity index 100% rename from app/defikarte/assets/marker.png rename to app/assets/marker.png diff --git a/app/defikarte/assets/procamed.jpg b/app/assets/procamed.jpg similarity index 100% rename from app/defikarte/assets/procamed.jpg rename to app/assets/procamed.jpg diff --git a/app/defikarte/assets/splash.png b/app/assets/splash.png similarity index 100% rename from app/defikarte/assets/splash.png rename to app/assets/splash.png diff --git a/app/defikarte/babel.config.js b/app/babel.config.js similarity index 100% rename from app/defikarte/babel.config.js rename to app/babel.config.js diff --git a/app/defikarte/assets/icons/android/mipmap-hdpi/defi_icon.png b/app/defikarte/assets/icons/android/mipmap-hdpi/defi_icon.png deleted file mode 100644 index ada68bdc8e76185457d07bbb04e5e2e1fb6f9ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5514 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 bH^wfvZg~t%ksM+P=#!^!-}qm7?_lgd8dkpB diff --git a/app/defikarte/assets/icons/android/mipmap-xhdpi/defi_icon.png b/app/defikarte/assets/icons/android/mipmap-xhdpi/defi_icon.png deleted file mode 100644 index ca5f49ca67d1f31b994f2983d132ffea260b3891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8418 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 CXcguF diff --git a/app/defikarte/assets/icons/android/mipmap-xxhdpi/defi_icon.png b/app/defikarte/assets/icons/android/mipmap-xxhdpi/defi_icon.png deleted file mode 100644 index b390c53490d62061e128223b6ee718dad79b7e5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15478 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∨jxKSd*0EyQA(*O;%-oE;gztw6TyNZi%#vwzZ zG=}+;(inY=!BUMljFdJm1{EDYJ)SxfVb;{LN0m%vDtFsg^sBVDwfijxD+L=+Yep&{ zU*9vsVswm}Gf4rqtm6_!!DWQE@{>o2gh$%um;4;nn^ZS`CqF~=TFM5ouYI5zI;fyz zVf9jlT&jW~o6eB|f<2Z5*uIJ*xP<~k9$?v+1jJ=+k|zj0-Fr- zgW_Z!-;Yq=M>CN7d*rB;BkFqfzbzYx~ksLkj?p)Gpdcw@w>WB<1Oc?>AW;ag$?jq)oPd#b*nH zoFzHL!MFPfz-o->TKy8gQ2~~H3)#I&3aPfpKcha>NS}wcf9kp|k6H*YXa*)gszax& z?X24JEj&|;4MgUF2TC31MC?QEq@klXYznt>w7?nY&Zno5#tZd3`52XIY%y{5!jS~G z^Q)Vx(DQP3_Q)pNQYNPQ(Rj_(uRK<{-^?o=qzIloTAof>u8gcZ@qhxj+iBWr3FFXr zjr&3NRYgpUA*8v?;xG5B^Ft4t4IgyR4p}$nR=dIShqYAFwpUedjbCBp3f?ew*&Yu( zVftnpriu4N?-Ep#cK`gV4RX~kKZ+}Yb}D(hc5e&DL6BPw2Ek+_?1=C5#>uT^hA@*S zxOEoiLr&{3hIpoF_JNJ2-P(paZe><8Wb{2!0t{%LyuQ=IUB|2n6iF0L!cIl-H34P& zROYxh$qb>C41u!&<)mcQW|_y{E7bVnP~! z0lpa5*8{@PKNa7&^}~<{9w_g#8oO^joPOaj%f)W#Q`9MNwN(vX&x7z4ST4Koj(yn{ zdOsmZEBbRXjtr+j+i4B;jynSt3_!WeXo`@MeFaU=2y+FHm}bc-=`2B-oWTVD+%m#s`h4gkHl<%-s&v;vZC__wbENl=_xm z6TvUb(=&K1n(cpz=%r(7SEW-}gvHlA=vMty$tV_4!cZ56EI%P@gO$oY^vRNwi{i_s}68rv`cBwh)-S3l~1ko1lGn=0PZ=vIyB(V6=bAjis zX@z$oU-b}Nwm+4!#>nYLvWkUC1p0{@llCorkPsLRfg8wlngA-W7md`tn?1m_3 z{gcVw$jW|A^oC=)zLL%;NIqY;(Y_NQByQa=3UR*icmX)SL*oP0LhU@f{tIv>adH9H za!7mHTz6oBnDvgm1k)EY#})sG@TtdGXT(k&xFjL0!j zj3b@qxt4f8$90LGzSHsfhPZC5BYLhJjg1>Q^TP|`;z{Mo8PkP7Xf@jZ@-n(tqfT{B z(c<~g;od>3J?)d%NyTFWL-rn)q;4v{#V|BQBrBz%SUqiHXKiToeHbeflX!ld^(>h6 z%>4@p`gad5V0=1vg+iekYT)0WE4Sksliaqlg>&575?Lf)b-pU;){MY!>Y0BlDL;cG z^E3@`4Z4jVOn!BwYfUN{BzGl|ml0RqwCPjAg#0{>z(3wBM{th%QDAiF08m#Kmf)P`epnAv%tzAz1HOgBqb=l zIPjnZ8QE@7L{fU}!}aJCR&Q!XMa?ex(9{9a(aRN~@fo^UcPWK(a_@gKpdH9eMDoBI z?bp;;&W<4)q4h|8F!5^^v>QjTfDi7-OKNJufnCyh=f^HDBXN~&tAfgTZF zawZ+Q3gm8QLtj&LRzfgp3crTJQGfGg)1hd=1&!;*F5?*=4lUj=jG8{_{%q;)}Ek3U~ll5R9plYZnL zQuWO(LBH-%t79LR@5#TQQqLy@{Hu@HI(>smyu$jQu=jX>y)6az?4H*{S9g7! zqZ^()8GFC7BSAZ1d7V?Rcl_W4+5Bis+tNH9Zb`3xwm3ua$`7fT{)UQYs9utLV~*h) z=c9Dk?d;DPvTG@#0@^lmF~P`J6gpV%qz|SY>E^v@VDL+%+7#tkr=!m-R{dy&E~P(A z1m-B+uG++E#&;{5mDO`>w%~E{s!9@U9q~3TLYLkRq5}o9W&=Chn3ZKg zDl0q%5^va(Se~@e9W_w zu|3=8S2hei7iB2gG66CCPO`Yy!?W(|Oq+BV9X}XxeM>FdS+FW;>t0ATC3F-@qrWEP z-@UBHo84o_FHCsN~w91+(}s7Xlu+tZ#X9_U!{C!L=s7 zoG2t?EDb7Sms^DyH!P2 z0?P5Islmhg<_LZi!hekRBn`IO1anZCNoQij*Mwg^055Pc8H6is0oZ&!%iLikK2d)v zTzPFIZ9by0`HZhb<;%nuA6WgYT!5K1&J80kVU@9kZju2H!O1)2WBro!VYzS2z zB%H~qS!+kt>`0ItV>$eYBCrXk4UoYSXDlcUlHfE<6sLV&XHn?Nk)4?8_7>WMw-7#mJk5h$+0&$*S@OYrc(-jNpd+AQF+yZ3Tvgwu7GUF zLIy59b7rFSD*MWy7NpeQAzGTj1R>j?aJ)&$eDC)~-kb-C&DrYgf2I(96&eV;NklsxEM?O`wm^6?P5;8KE)kk$`$wbf}M z+fv7$B^Awnj9H>1{G1Pf9nzyTPcN`Qe}&N?G)%%-mz2=J)K}=2{`eWtjNoYx$G9~; zr5qQI;nn!3->*GglxC1os&K~(?s&utQLTMbY)~RrGtw@O{R=>jQ-!m7g_pY4b}$RLPDT`+w`YsQ-2I2 zhfepEKs|i{LpE7sMjW2`E6B}ulFj`##iI8(1~IPUkO$3h6}AL0uRk46&1dWWPBtON z**=)42W$O}P3wGo(A^NyBMuVqoKFZ6@2YU+==~9+cawRo9|p=xw=4DqP9j>%_i8vEl|~R% z;@U0IX7RVT{sp9_Z)AYh4*@});cRL{3hrx#3 zkPT)*<9#97_^`$~fE&(L*&>qiNt&%=O3Arf&Y(TbLZm7A*dU<+Hek`rg6ybj9@{1S zqVXk+<&IxujKbdnG_qZoA134?4~mq)r4;?n>Z#vMnMHKJzU8JwsQjIbrDb*2Q1JSb zA-aJ)lE#503Z(2_cKgCL`LaF1UL!hg$82btI}6iTDKpEm*iYqTM>8^Qm)wc%lOh;$ zh_a}zPuRgX;BaFl>n2>$-cQM7QFwoO)XqKxqF0UuMi`XPkHTlrl~>a{d40F>=>T&{ zA8T<=JEX#(b>1^BfwzaUN6JJzHRP2nYoYoLB-P-h!P;^*58io$ZNqfJTJgt;RiqvW zsLs)x%1-Zqm=C1zbH+hT66RU&_v}IJbEy=N{^vqd{5xs4vK$XkTy^arT!JwI^@Rszw7&;>+ximGldl#+6&#jr1RX=&1UTV(f%CuU4rUv%n z$qZ!jde+5Xx&)VXV6&5~y0s%G9v)@E^G6oN>8brL0znvTV&GyyO8=I>u>t61u#Bsd zTBbgSrV}X@GDVk9o3B4Xm8W*|yF#PZ_};3z`DF5;G=&b;AIR8!oO!23u5VT{ezt!q!4IO*E`e_Q*!Kz=hprzSa-2K$FKd^v0y z^Pbn52W?*3!!nt(kpW)OYUavcX{1HZIa&@p<4b)fJ<|MGsf8>OeRh~rtP($2dAX75 z>)}lH-@gwVKyHL4(Il0o6?>9Gsu3@Oq*|7*mRiYX3|0(rTeKuaRnaC0Qo89_v1LVZ z{LhLougjq=`q)I3tJV7B93 z{g?d19gif$2$5}LV~>dqTjP>RXCXW{73;tL-ri=JW~Tg6oh~DaA4!MySFxyusO4-@)Z5nEtcx>t{xTJoQlWl zGDJD>+`wH(I-z4TMw7zX zPBXcMokeP~rc`gzGuI{@9_2lb+&gM1K1Y_WCgJL0W)Mhyak*IL&qLyKuk?Qn3`RLLXAgGOt}1e_FY2R!^b9DuOpV f0B5-!1NHsabmjNor1qbz(0{Sp|F44M-}V0m$0WnI diff --git a/app/defikarte/assets/icons/android/mipmap-xxxhdpi/defi_icon.png b/app/defikarte/assets/icons/android/mipmap-xxxhdpi/defi_icon.png deleted file mode 100644 index 0e4e166073adecccf1a46ec54148d5b00a6385a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22757 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 I@OSoq0BJ9Q4*&oF diff --git a/app/defikarte/eas.json b/app/eas.json similarity index 100% rename from app/defikarte/eas.json rename to app/eas.json diff --git a/app/defikarte/package-lock.json b/app/package-lock.json similarity index 100% rename from app/defikarte/package-lock.json rename to app/package-lock.json diff --git a/app/defikarte/package.json b/app/package.json similarity index 100% rename from app/defikarte/package.json rename to app/package.json diff --git a/app/defikarte/src/api/defikarteBackend.js b/app/src/api/defikarteBackend.js similarity index 100% rename from app/defikarte/src/api/defikarteBackend.js rename to app/src/api/defikarteBackend.js diff --git a/app/defikarte/src/components/AttributeListing.js b/app/src/components/AttributeListing.js similarity index 100% rename from app/defikarte/src/components/AttributeListing.js rename to app/src/components/AttributeListing.js diff --git a/app/defikarte/src/components/CreateMapOverlay.js b/app/src/components/CreateMapOverlay.js similarity index 100% rename from app/defikarte/src/components/CreateMapOverlay.js rename to app/src/components/CreateMapOverlay.js diff --git a/app/defikarte/src/components/DefiItem.js b/app/src/components/DefiItem.js similarity index 100% rename from app/defikarte/src/components/DefiItem.js rename to app/src/components/DefiItem.js diff --git a/app/defikarte/src/components/DefiMarker.js b/app/src/components/DefiMarker.js similarity index 100% rename from app/defikarte/src/components/DefiMarker.js rename to app/src/components/DefiMarker.js diff --git a/app/defikarte/src/components/DetailMapOverlay.js b/app/src/components/DetailMapOverlay.js similarity index 100% rename from app/defikarte/src/components/DetailMapOverlay.js rename to app/src/components/DetailMapOverlay.js diff --git a/app/defikarte/src/components/ErrorBoundary.js b/app/src/components/ErrorBoundary.js similarity index 100% rename from app/defikarte/src/components/ErrorBoundary.js rename to app/src/components/ErrorBoundary.js diff --git a/app/defikarte/src/components/LocationButton.js b/app/src/components/LocationButton.js similarity index 100% rename from app/defikarte/src/components/LocationButton.js rename to app/src/components/LocationButton.js diff --git a/app/defikarte/src/components/LocationError.js b/app/src/components/LocationError.js similarity index 100% rename from app/defikarte/src/components/LocationError.js rename to app/src/components/LocationError.js diff --git a/app/defikarte/src/components/Map.js b/app/src/components/Map.js similarity index 100% rename from app/defikarte/src/components/Map.js rename to app/src/components/Map.js diff --git a/app/defikarte/src/components/MapInfoPanel.js b/app/src/components/MapInfoPanel.js similarity index 100% rename from app/defikarte/src/components/MapInfoPanel.js rename to app/src/components/MapInfoPanel.js diff --git a/app/defikarte/src/components/MapLayersButton.js b/app/src/components/MapLayersButton.js similarity index 100% rename from app/defikarte/src/components/MapLayersButton.js rename to app/src/components/MapLayersButton.js diff --git a/app/defikarte/src/components/OsmContributerOverlay.js b/app/src/components/OsmContributerOverlay.js similarity index 100% rename from app/defikarte/src/components/OsmContributerOverlay.js rename to app/src/components/OsmContributerOverlay.js diff --git a/app/defikarte/src/components/SimpleMarker.js b/app/src/components/SimpleMarker.js similarity index 100% rename from app/defikarte/src/components/SimpleMarker.js rename to app/src/components/SimpleMarker.js diff --git a/app/defikarte/src/components/SwitchForm.js b/app/src/components/SwitchForm.js similarity index 100% rename from app/defikarte/src/components/SwitchForm.js rename to app/src/components/SwitchForm.js diff --git a/app/defikarte/src/components/Template.js b/app/src/components/Template.js similarity index 100% rename from app/defikarte/src/components/Template.js rename to app/src/components/Template.js diff --git a/app/defikarte/src/components/TextForm.js b/app/src/components/TextForm.js similarity index 100% rename from app/defikarte/src/components/TextForm.js rename to app/src/components/TextForm.js diff --git a/app/defikarte/src/components/WarningInfoPanel.js b/app/src/components/WarningInfoPanel.js similarity index 100% rename from app/defikarte/src/components/WarningInfoPanel.js rename to app/src/components/WarningInfoPanel.js diff --git a/app/defikarte/src/config/createForm.js b/app/src/config/createForm.js similarity index 100% rename from app/defikarte/src/config/createForm.js rename to app/src/config/createForm.js diff --git a/app/defikarte/src/context/DefibrillatorContext.js b/app/src/context/DefibrillatorContext.js similarity index 100% rename from app/defikarte/src/context/DefibrillatorContext.js rename to app/src/context/DefibrillatorContext.js diff --git a/app/defikarte/src/context/InfoContext.js b/app/src/context/InfoContext.js similarity index 100% rename from app/defikarte/src/context/InfoContext.js rename to app/src/context/InfoContext.js diff --git a/app/defikarte/src/context/LocationContext.js b/app/src/context/LocationContext.js similarity index 100% rename from app/defikarte/src/context/LocationContext.js rename to app/src/context/LocationContext.js diff --git a/app/defikarte/src/context/createDataContext.js b/app/src/context/createDataContext.js similarity index 100% rename from app/defikarte/src/context/createDataContext.js rename to app/src/context/createDataContext.js diff --git a/app/defikarte/src/helpers/coordinateCalc.js b/app/src/helpers/coordinateCalc.js similarity index 100% rename from app/defikarte/src/helpers/coordinateCalc.js rename to app/src/helpers/coordinateCalc.js diff --git a/app/defikarte/src/helpers/markersOnMap.js b/app/src/helpers/markersOnMap.js similarity index 100% rename from app/defikarte/src/helpers/markersOnMap.js rename to app/src/helpers/markersOnMap.js diff --git a/app/defikarte/src/hooks/useDefibrillators.js b/app/src/hooks/useDefibrillators.js similarity index 100% rename from app/defikarte/src/hooks/useDefibrillators.js rename to app/src/hooks/useDefibrillators.js diff --git a/app/defikarte/src/hooks/useLocation.js b/app/src/hooks/useLocation.js similarity index 100% rename from app/defikarte/src/hooks/useLocation.js rename to app/src/hooks/useLocation.js diff --git a/app/defikarte/src/i18n/i18n.js b/app/src/i18n/i18n.js similarity index 100% rename from app/defikarte/src/i18n/i18n.js rename to app/src/i18n/i18n.js diff --git a/app/defikarte/src/screens/AboutScreen.js b/app/src/screens/AboutScreen.js similarity index 100% rename from app/defikarte/src/screens/AboutScreen.js rename to app/src/screens/AboutScreen.js diff --git a/app/defikarte/src/screens/CreateScreen.js b/app/src/screens/CreateScreen.js similarity index 100% rename from app/defikarte/src/screens/CreateScreen.js rename to app/src/screens/CreateScreen.js diff --git a/app/defikarte/src/screens/DetailScreen.js b/app/src/screens/DetailScreen.js similarity index 100% rename from app/defikarte/src/screens/DetailScreen.js rename to app/src/screens/DetailScreen.js diff --git a/app/defikarte/src/screens/ListScreen.js b/app/src/screens/ListScreen.js similarity index 100% rename from app/defikarte/src/screens/ListScreen.js rename to app/src/screens/ListScreen.js diff --git a/app/defikarte/src/screens/MainScreen.js b/app/src/screens/MainScreen.js similarity index 100% rename from app/defikarte/src/screens/MainScreen.js rename to app/src/screens/MainScreen.js diff --git a/backend/DefikarteBackend/.gitignore b/backend/.gitignore similarity index 99% rename from backend/DefikarteBackend/.gitignore rename to backend/.gitignore index 4ce6fdd..2340c0d 100644 --- a/backend/DefikarteBackend/.gitignore +++ b/backend/.gitignore @@ -10,6 +10,8 @@ *.userosscache *.sln.docstates +.env + # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs diff --git a/backend/DefikarteBackend/DefikarteBackend/Cache/BlobStorageCacheRepository.cs b/backend/Cache/BlobStorageCacheRepository.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Cache/BlobStorageCacheRepository.cs rename to backend/Cache/BlobStorageCacheRepository.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Cache/ICacheRepository.cs b/backend/Cache/ICacheRepository.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Cache/ICacheRepository.cs rename to backend/Cache/ICacheRepository.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Configuration/ServiceConfiguration.cs b/backend/Configuration/ServiceConfiguration.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Configuration/ServiceConfiguration.cs rename to backend/Configuration/ServiceConfiguration.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/DefibrillatorFunction.cs b/backend/DefibrillatorFunction.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/DefibrillatorFunction.cs rename to backend/DefibrillatorFunction.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/DefikarteBackend.csproj b/backend/DefikarteBackend.csproj similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/DefikarteBackend.csproj rename to backend/DefikarteBackend.csproj diff --git a/backend/DefikarteBackend/DefikarteBackend.sln b/backend/DefikarteBackend.sln similarity index 91% rename from backend/DefikarteBackend/DefikarteBackend.sln rename to backend/DefikarteBackend.sln index 94048b4..1f0a274 100644 --- a/backend/DefikarteBackend/DefikarteBackend.sln +++ b/backend/DefikarteBackend.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30804.86 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DefikarteBackend", "DefikarteBackend\DefikarteBackend.csproj", "{5391DED1-23DC-47A1-9DDA-485DB0396FB6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DefikarteBackend", "DefikarteBackend.csproj", "{5391DED1-23DC-47A1-9DDA-485DB0396FB6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/backend/DefikarteBackend/DefikarteBackend/.gitignore b/backend/DefikarteBackend/DefikarteBackend/.gitignore deleted file mode 100644 index ff5b00c..0000000 --- a/backend/DefikarteBackend/DefikarteBackend/.gitignore +++ /dev/null @@ -1,264 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# Azure Functions localsettings file -local.settings.json - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -project.fragment.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -#*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc \ No newline at end of file diff --git a/backend/DefikarteBackend/DefikarteBackend/Model/DefibrillatorRequest.cs b/backend/Model/DefibrillatorRequest.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Model/DefibrillatorRequest.cs rename to backend/Model/DefibrillatorRequest.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Model/OsmNode.cs b/backend/Model/OsmNode.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Model/OsmNode.cs rename to backend/Model/OsmNode.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/OsmOverpassApi/OverpassClient.cs b/backend/OsmOverpassApi/OverpassClient.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/OsmOverpassApi/OverpassClient.cs rename to backend/OsmOverpassApi/OverpassClient.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Properties/serviceDependencies.json b/backend/Properties/serviceDependencies.json similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Properties/serviceDependencies.json rename to backend/Properties/serviceDependencies.json diff --git a/backend/DefikarteBackend/DefikarteBackend/Properties/serviceDependencies.local.json b/backend/Properties/serviceDependencies.local.json similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Properties/serviceDependencies.local.json rename to backend/Properties/serviceDependencies.local.json diff --git a/backend/DefikarteBackend/DefikarteBackend/SimpleCacheFunction.cs b/backend/SimpleCacheFunction.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/SimpleCacheFunction.cs rename to backend/SimpleCacheFunction.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Startup.cs b/backend/Startup.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Startup.cs rename to backend/Startup.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Validation/DefibrillatorRequestValidator.cs b/backend/Validation/DefibrillatorRequestValidator.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Validation/DefibrillatorRequestValidator.cs rename to backend/Validation/DefibrillatorRequestValidator.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Validation/HttpRequestExtension.cs b/backend/Validation/HttpRequestExtension.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Validation/HttpRequestExtension.cs rename to backend/Validation/HttpRequestExtension.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Validation/ValidateableRequest.cs b/backend/Validation/ValidateableRequest.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Validation/ValidateableRequest.cs rename to backend/Validation/ValidateableRequest.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/Validation/ValidationExtension.cs b/backend/Validation/ValidationExtension.cs similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/Validation/ValidationExtension.cs rename to backend/Validation/ValidationExtension.cs diff --git a/backend/DefikarteBackend/DefikarteBackend/host.json b/backend/host.json similarity index 100% rename from backend/DefikarteBackend/DefikarteBackend/host.json rename to backend/host.json diff --git a/docs/Requirements.md b/docs/Requirements.md deleted file mode 100644 index a6e552c..0000000 --- a/docs/Requirements.md +++ /dev/null @@ -1,49 +0,0 @@ -# Requirements - -This document describes the requirements for the Defikarte.ch app. These are the basis for further processing. - -## Basics - -The website defikarte.ch with the data from OpenStreetMap serves as the basis for creating this app. The website was designed by Christian Nüssli. -The basic map and its symbols were developed and made available by the Swiss OpenStreetMap Association with the uMap web map. uMap is available on Github with the OpenSource license. - -## Data - -The data comes directly from OpenStreetMap and is subject to the copyright of the OSM community. -There are no rights to this data. -The data is extracted from OpenStreetMap via the Overpass API. This can also be solved differently in the app and is the responsibility of the provider. - -## Technical requirements - -### Platforms - -* Android (latest two versions) -* iOS (latest two versions) - -## Functional requirements - -* Show defibrillators from OpenStreetMap on a map (it would be nice if this also insisted on OpenStreetMap or Mapbox) -* Localization in the app to show surrounding defis -* Routing to the next best Defi (map and list view) -* Possibility to report a new defibrillator - * report on a mail form - * report directly to the API (more below) -* Upload function directly to OSM (via API) - * more Information here [OSM API](https://wiki.openstreetmap.org/wiki/API) - * with predefined fields and OSMTypeMapping -* Upload photos and directly make a Wikidata entry in order to be able to retrieve photos on the website -* Quality assurance and approval by the app owner (backend or app) - -### Framework proposals - -* Xamarin -One proposal of Patricia is the Xamarin Framework -https://dotnet.microsoft.com/apps/xamarin - -* React Native (selected) -One proposal of Marc is the React Native Framework -https://reactnative.dev/ - -## Addition - -Detailed requirements can then be worked out with the project team when the project is implemented. An expansion of the app is conceivable. \ No newline at end of file diff --git a/images/appstore.png b/images/appstore.png deleted file mode 100644 index a2da0a2c316c3f28ba7ffc63afb99ae3e63d2783..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5344 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 diff --git a/production/.expo/README.md b/production/.expo/README.md deleted file mode 100644 index fd146b4..0000000 --- a/production/.expo/README.md +++ /dev/null @@ -1,15 +0,0 @@ -> Why do I have a folder named ".expo" in my project? - -The ".expo" folder is created when an Expo project is started using "expo start" command. - -> What do the files contain? - -- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. -- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator. -- "settings.json": contains the server configuration that is used to serve the application manifest. - -> Should I commit the ".expo" folder? - -No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. - -Upon project creation, the ".expo" folder is already added to your ".gitignore" file. From 7285470a281c7f814ebe75b6e8c24ba95ff2a2a2 Mon Sep 17 00:00:00 2001 From: Marc Muehlheim Date: Fri, 17 Nov 2023 20:49:27 +0100 Subject: [PATCH 2/4] Remove unused alignment --- README.md | 3 --- README_en.md | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 73473ac..7416869 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,10 @@ Die App ist ein Projekt von [Defikarte.ch](https://www.defikarte.ch) und soll he Die App zu Defikarte.ch findet man in den Stores des jeweiligen Anbieters. -

Download on the App Store Jetzt bei Google Play -
- ## Entwicklung Zur Entwicklung der Mobile-App (Android & iOS) wird [React Native](https://reactnative.dev/) und [Expo](https://expo.io) verwendet. Das Backend (REST-API) ist mit .Net (c#) und [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview) implementiert. diff --git a/README_en.md b/README_en.md index b0531c8..77be7e9 100644 --- a/README_en.md +++ b/README_en.md @@ -16,13 +16,10 @@ The app is a project by [Defikarte.ch](https://www.defikarte.ch) and is intended The App is available in the Appstores. -
Download on the App Store Jetzt bei Google Play -
- ## Development The mobile-app (android & iOS) is developed using [React Native](https://reactnative.dev/) and [Expo](https://expo.io). The backend (REST-API) ist implemented in .Net using [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview). @@ -36,13 +33,16 @@ IDE & Tools: - ExpoGO für Android oder iOS (emulators are supported) Starting the development environment (App/React Native). + - `cd app` - Create .env-File according to .env.template - Execute `npm install` && `npx expo start` (starts the Expo-App) - Scn the QR-Code displayed in the console => ExpoGO-App starts ### Getting started Backend (.Net/Azure Functions): + IDE & Tools + - x86-environment (Apple Silicon is not yet supported) - .Net 6 - Visual Studio or Visual Studio Code incl. Azure Function Core Tools From 47f8f48f5220168dab49d7161107b6e86dbbc01b Mon Sep 17 00:00:00 2001 From: Marc Muehlheim Date: Fri, 17 Nov 2023 20:49:52 +0100 Subject: [PATCH 3/4] Remove unused margin --- README.md | 2 +- README_en.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7416869..ae01617 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Die App zu Defikarte.ch findet man in den Stores des jeweiligen Anbieters. Download on the App Store -Jetzt bei Google Play +Jetzt bei Google Play ## Entwicklung diff --git a/README_en.md b/README_en.md index 77be7e9..8b638d9 100644 --- a/README_en.md +++ b/README_en.md @@ -18,7 +18,7 @@ The App is available in the Appstores. Download on the App Store -Jetzt bei Google Play +Jetzt bei Google Play ## Development From ccffe6f0ccbcf737c5b109d701f4cc795e748746 Mon Sep 17 00:00:00 2001 From: Marc Muehlheim Date: Fri, 17 Nov 2023 21:16:04 +0100 Subject: [PATCH 4/4] Update readMe for eas --- UPDATE.md | 43 ------------------------------------------- app/ReadMe.md | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 43 deletions(-) delete mode 100644 UPDATE.md create mode 100644 app/ReadMe.md diff --git a/UPDATE.md b/UPDATE.md deleted file mode 100644 index 7a9847d..0000000 --- a/UPDATE.md +++ /dev/null @@ -1,43 +0,0 @@ -# Update process - -## Build new release - -make a build for all plattforms - -```cli -eas build --platform all -``` - -make a build for ios - -```cli -eas build --platform ios -``` - -make a build for android - -```cli -eas build --platform android -``` - -select a different environment (prod) - -```cli -eas build --profile production -``` - -select a different environment (staging) - -```cli -eas build --profile staging -``` - -### change version - -In app.json change the following values to the actual build number. - - `"version": "1.0.20"` - - `"buildNumber": "1.0.20"` - -`"versionCode": 20` diff --git a/app/ReadMe.md b/app/ReadMe.md new file mode 100644 index 0000000..caef32a --- /dev/null +++ b/app/ReadMe.md @@ -0,0 +1,31 @@ +# Build a production/preview ready app local + +## Build new release + +make a build for all plattforms + +```cli +eas build --profile preview --platform all --local +``` + +make a build for ios + +```cli +eas build --profile preview --platform ios --local +``` + +make a build for android + +```cli +eas build --profile preview --platform android --local +``` + +### change version + +In app.json change the following values to the actual build number. + +`"version": "1.0.20"` + +`"buildNumber": "1.0.20"` + +`"versionCode": 20`
+Download on the App Store -[![playstore.png](images/playstore.png)](https://play.google.com/store/apps/details?id=ch.defikarte.app) +Jetzt bei Google Play + +