diff --git a/Prisma/AccountOnboarding.png.license b/Prisma/AccountOnboarding.png.license new file mode 100644 index 0000000..04cc577 --- /dev/null +++ b/Prisma/AccountOnboarding.png.license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2023 Stanford University + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png new file mode 100644 index 0000000..e5caa3d Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png new file mode 100644 index 0000000..e631733 Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png new file mode 100644 index 0000000..37c9556 Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Chat.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png new file mode 100644 index 0000000..a22f033 Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png new file mode 100644 index 0000000..367174c Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png new file mode 100644 index 0000000..81e17a7 Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png new file mode 100644 index 0000000..4c673fa Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png new file mode 100644 index 0000000..d49a064 Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png new file mode 100644 index 0000000..294e11a Binary files /dev/null and b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png differ diff --git a/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png.license b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png.license new file mode 100644 index 0000000..27f744f --- /dev/null +++ b/Prisma/Supporting Files/PrismaApplication.docc/Resources/Onboarding/Scheduling~dark.png.license @@ -0,0 +1,5 @@ +This source file is part of the Prisma Application open-source project + +SPDX-FileCopyrightText: 2024 Stanford University + +SPDX-License-Identifier: MIT diff --git a/README.md b/README.md index 1b99c7e..cf9183d 100644 --- a/README.md +++ b/README.md @@ -19,19 +19,28 @@ The CS342 2024 PRISMA application is using the [Spezi](https://github.com/Stanfo > [!NOTE] > Do you want to try out the CS342 2024 PRISMA application? You can download it to your iOS device using [TestFlight](https://testflight.apple.com/join/bPu7kUoM)! +> +The CS342 2024 Prisma app as of March 14, 2023 includes added functionality for push notifications, controlling personal data usage via privacy controls, and authenticated chat interface dialogue. ## CS342 2024 PRISMA Features +The following are screenshots showing various aspects of the Prisma application. -*Provide a comprehensive description of your application, including figures showing the application. You can learn more on how to structure a README in the [Stanford Spezi Documentation Guide](https://swiftpackageindex.com/stanfordspezi/spezi/documentation/spezi/documentation-guide)* - -> [!NOTE] -> Do you want to learn more about the Stanford Spezi Template Application and how to use, extend, and modify this application? Check out the [Stanford Spezi Template Application documentation](https://stanfordspezi.github.io/SpeziTemplateApplication) +| Account Onboarding | Notification Permissions | Data View | +|:------------------:|:------------------------:|:---------:| +| ![An account Onboarding page.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding.png#gh-light-mode-only) ![An account Onboarding page.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/AccountOnboarding~dark.png#gh-dark-mode-only) | ![A Notification Permissions page.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions.png#gh-light-mode-only) ![A Notification Permissions page.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/NotificationPermissions~dark.png#gh-dark-mode-only) | ![A data view.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/DataView.png#gh-light-mode-only) ![A data view.](Prisma/Supporting%20Files/PrismaApplication.docc/Resources/Onboarding/DataView~dark.png#gh-dark-mode-only) | ## Contributing -*Ensure that you add an adequate contribution section to this README.* +| Name | Contribution | +|------------|--------------| +| **Caroline** | Implemented the UI, publisher, fetching, and modifying features for Firestore data given the user’s selection on data upload and redaction of data for the privacy controls. | +| **Dhruv** | Wrote centralized privacy module class for management and storage of selected data. Worked collaboratively with Evelyn S. to create an end to end pipeline of chat interface authentication. | +| **Evelyn H.** | Implemented the UI for privacy controls, fetching and updating data in Firestore to reflect user changes in hiding data by timestamp or time range. | +| **Evelyn S.** | Worked collaboratively with Dhruv to create an end to end pipeline of chat interface authentication. The iOS app sends a JWT to the frontend, which then verifies the JWT using Firebase Admin SDK in the backend, and the user can then access the chat view +| **Bryant** | Implemented client side handling for push notification registration + handling, as well as the backend listener system and scheduling for notifications/schedule changes. Also added testing framework to backend. | + ## License