Suicide Safety Plan is a free mobile application for suicide prevention

Overview

Suicide Safety Plan - iOS

Suicide Safety Plan is a free mobile application for suicide prevention.

iOS | Android | Website | Contact

This app is a mobile adaptation of a Suicide Safety Plan, which is a suicide prevention tool that is widely used in healthcare facilities around the world. Safety plans allow people who struggle with suicidal ideation to follow their plan during a crisis and stay safe.

πŸ“œ Principles

As a suicide prevention project, we are aware that we have to hold ourselves to a higher standard than most other apps since our users are from a vulnerable population.

This project commits to:

  • Never charge money so that users who need it most will be able to access all features of this app free of charge without upfront costs, in app purchases or advertisements.

  • Never sell data so that users will be able to use the app in an anonymous manner without fear of being identified, tracked, or targeted.

  • Provide evidence-based content so that users can benefit from techniques with a high probability of effectiveness and positive impact.

❀️ Contributing

We hope this project will foster collaboration between mental health professionals and open source developers.

If you are interested in helping out, please visit the Issues page to see the outstanding ToDos.

If you are a mental health professional, please feel free to create issues and participate in open issues. If you are unfamiliar with GitHub but still want to contribute, please send us an email at [email protected].

If you are a software developer, pull requests are welcome! Keep in mind that we have both an iOS and Android version in separate repos and please check out the Contributing Guidelines.

πŸ“˜   License

The Suicide Safety Plan is licensed under the under terms of the MIT License.

Comments
  • Safety plan view controller swift conversion

    Safety plan view controller swift conversion

    Closes #15

    Refactor Plan ViewControllers from objc into Swift.

    • Refactor SafetyPlanViewController into swift, add BaseViewController components, Add SafetyPlanItem for data management.
    • Refactor EditWarningSignsViewController, create TextField and Button Cells, Update UserDefaults save method
    • Add reusable EditSafetyPlanItemViewController for rest of Plan view controllers, update edit vc and user default gateway for personal contacts
    • Finish migrating Plan ViewControllers from objc into swift

    Closes #19 Implement RealmDB for the data persistence layer

    • Updated our use of UserDefaults gateway for personal contacts and SafetyPlanItems to use RealmDB
    • Implemented a Gateway protocol template for future gateways, each pertaining to the data we want to query from the DB
    • Added AppSettings class to manage our use of UserDefaults for storing app settings
    opened by shayneptorres 11
  • Re-evaluate Data persistence Layer

    Re-evaluate Data persistence Layer

    Right now, it looks like the personal contact info is being stored separately as a name and a number in UserDefaults. While this works I believe that there is a better way to persist this information which will make querying it much easier, manageable, and safe.

    Some suggestions are: 1.) Model the personal contact info in a Codable class that can be serialized/deserialized into UserDefaults, that way we don't have to check the individual keys (ie "name1", "number1"). This will also allow the user to store an arbitrary number of personal contacts, instead of the hard limit that we are setting 2.) Model the personal contact info in CoreData. If we don't want to rely on UserDefaults we can turn to CoreData to model and manage the persistence of our personal contact info 3.) Model the personal contact info with Realm. This is another Database tool that I use in all of my projects. It is much easier to setup and user (in my opinion) than CoreData. Setting it up in Realm will help if there are things in the future that we want to persist.

    There are pros and cons to each, but let me know what you think.

    opened by shayneptorres 7
  • Fix Issues when building with XCode 13

    Fix Issues when building with XCode 13

    When building the app in XCode 13, there are several UI issues.

    • Transparent splash screen

    • Transparent navigation bar till I scroll up the screen

    The video with 1 and 2: https://user-images.githubusercontent.com/7028613/182032101-e62f3157-217c-4e1d-a312-3a583481197f.mov

    • Untappable tip textfield and +Add another button.
    opened by eddielement 5
  • Feature/native dark mode support

    Feature/native dark mode support

    #4 Native Dark Mode support for the app.

    Notes

    • To change the text color of the TextViews with attributed text, I had to do it programatically. Since this is the case, I converted the Objective-C code for those three view controllers (which I am currently working on on a different branch anyway.)
    • I did not change the way that the blue color in the app appears between light and dark mode. I don't think that it looks bad in dark mode, but if we are interested in changing the color between light and dark mode, there are a couple things to know. You can do this by adding color sets, but this is not supported the on older versions of iOS that the app supports. It could also done programmatically, but will be extra work and would be best to do after the entire app is converted from Objective-C to Swift.

    Testing

    • I tested on iOS Simulators with iOS 10.3 (iPhone 5s) and iOS 13 (iPhone 11 Pro Max).
    opened by NinjaSnail42 4
  • Export Safety Plan

    Export Safety Plan

    Got this feature request from a therapist:

    "Hello, I wanted to say that I really like your suicide safety plan app. I wanted to ask for a recommendation. I’m a therapist and use it with my clients but I usually also want a copy of the plan when they create it. Is it possible to add a feature that would allow users to send their plan to people?"

    opened by eddielement 3
  • Establish a Git-flow process

    Establish a Git-flow process

    In order to ensure that contributors are not merging directly into master, and that there are no confusions with feature/bug/enhancement branches I would suggest that we establish a gitflow process.

    I recommend that we create a develop branch that all feature/bug/enhancement branches will branch off. All PRs should be made against the develop branch. Only specified admin can merge develop back into the master. The master branch is the final state before the new build is submitted to app store.

    Please let me know if there are any suggestions/comments/critiques/concerns.

    opened by shayneptorres 3
  • Issue-26 Export bugs

    Issue-26 Export bugs

    Closes #26

    The previous export plan

    Plan

    Warning Signs

    • Template text

    Coping Strategies

    • First, Second, Third, Fourth, Fifth

    Reasons to Live

    • Template text

    Contacts

    • Emily, Ed

    Places for Distraction

    • Template text

    Other

    • mplate text

    The fixed export plan

    Plan

    Warning Signs

    • Template text

    Coping Strategies

    • First, Second, Third, Fourth, Fifth

    Reasons to Live

    • Template text

    Contacts

    • Emily: 123456, Ed: 43434434

    Places for Distraction

    • Template text

    Other

    • Template text
    opened by pankova 2
  • Implement RealmDB for the data persistence layer

    Implement RealmDB for the data persistence layer

    Currently the app is persisting data using UserDefaults. While not an incorrect usage, it would be better to use a dedicated DB framework to manage modeling, saving, and querying data. After discussion in this issue we have decided to move forward with using RealmDB as our dedicated data persistence layer.

    This issue will track the implementation of RealmSwift in the iOS application

    opened by shayneptorres 2
  • Issue-24 Xcode 13 fixes

    Issue-24 Xcode 13 fixes

    Closes #24

    First: Combining Xcode 13 and iOS 15 had these bugs

    1. Transparent navigation bar until scroll up
    2. Transparent splash screen
    3. Transparent tab bar until scroll up
    4. Untappable buttons and textfields in custom tableview cells

    Second: The minimum supported iOS version had been increased to 13 by agreement

    Testing

    • [x] Device: iPhone 12 mini, iOS15.5
    • [x] Simulator iPhone 13 mini, iOS 15.5
    • [x] Simulator iPhone 11 Pro Max, iOS 14.5
    • [x] Simulator iPhone 8, iOS 13.7

    Checks

    • [x] System background color splashscreen: dark for a darkmode, white for a lightmode
    • [x] Visible nav bar after launch on all screens
    • [x] Visible tab bar after launch on all screens
    • [x] Tappable Add another button, one line and two line textfield on EditSafetyPlan screens
    opened by pankova 1
  • Issue-22 Add Share plan button on the Plan page

    Issue-22 Add Share plan button on the Plan page

    Closes #22 The added sharing icon is from SF Symbols app. For this reason, there is no need to add an author info. I've removed the ic_action_share icon, as it doesn't seem to be used in the project. If in doubt, I can return.

    Testing

    • [x] Device: iPhone 12 mini, iOS15.5
    • [ ] Simulator. I have M1 notebook, I couldn't test on the simulator

    Checks

    • [x] Export empty plan

    Plan

    Warning Signs –

    Coping Strategies –

    Reasons to Live –

    Contacts –

    Places for Distraction –

    Other –

    • [x] Export plan with the Other section filled in

    Plan

    Warning Signs –

    Coping Strategies –

    Reasons to Live –

    Contacts –

    Places for Distraction –

    Other Test filled section

    • [ ] Export plan with the first five items filled in (see below)

    Important I couldn't check the plan with the first five items filled in, because new Xcode 13.2.1 / 13.4.1 builds with some UI bugs:

    1. Transparent splash screen
    2. Transparent navigation bar till I scroll up the screen

    The video with 1 and 2: https://user-images.githubusercontent.com/7028613/182032101-e62f3157-217c-4e1d-a312-3a583481197f.mov

    1. Untappable tip textfield and +Add another button.
    IMG_7883EC9558CF-1]

    The reason is new Xcode 13, but I can't install the previous, because macOS Monterey can't work with Xcode earlier, than Xcode 13.

    The project needs an issue with adaptation to Xcode 13 – I can create it. As well, It could be useful to decide on supported iOS versions. The current minimum iOS version is 9. If it's decided to support all older variants, this point can be described in the Readme, as this may raise a question in any issue. In another case, the minimum iOS version could be raised, as this can simplify further development.

    opened by pankova 1
  • Export bugs

    Export bugs

    There are some minor bugs in the current export

    1. There are no numbers in the exported contact section
    2. The first two characters of the other section's text are deleted

    Example

    Plan

    Warning Signs

    • Template text

    Coping Strategies

    • First, Second, Third, Fourth, Fifth

    Reasons to Live

    • Template text

    Contacts

    • Emily, Ed

    Places for Distraction

    • Template text

    Other

    • mplate text
    opened by pankova 0
  • The National Suicide Prevention Lifeline is now the 988 Suicide & Crisis Lifeline

    The National Suicide Prevention Lifeline is now the 988 Suicide & Crisis Lifeline

    First, great app. I am a child and adolescent psychiatrist and I really value that my young patients can always have this plan on them because they always have their phone. A paper plan is great, but is probably sitting in a drawer at home when they need it. There are some very recent updates to the National Suicide Prevention Lifeline that are relevant for the app.

    Over this summer, the National Suicide Prevention Lifeline formally switched to be the "988 Suicide & Crisis Lifeline". See 988lifeline.org. The FCC has now made the three digit dialing number 988 active in all US states and territories, just like 911. Unlike 1-800-273-TALK (8255) number, which is still active, the 988 number works with both voice and SMS, and 988lifeline.org also has a web-based chat. Especially for privacy reasons, some youth prefer the web-based chat because their parents won't see it on the phone bill. 988lifeline.org is also the best single best starting point for the available diversity of crisis support resources that I have encountered, including resources for veterans, LGBTQ+, Spanish speaking, black, native American, hard-on-hearing, sign language lifeline, maternal depression, individuals with autism, and more.

    Could we update the crisis resources to the new 988 and 988lifeline.org resources? Please don't hesitate to reach out.

    opened by thomasjzimmer 0
  • Create Updated App Design

    Create Updated App Design

    Hello!

    I think we should update the app's design to be more modern and have a content first approach. I brainstormed some changes that could be made earlier today and would love some feedback. Please let me know what you think!

    https://www.figma.com/file/4jKqQ9V2n0iN3seNA2Ux9v/Suicide-Safety-Plan?node-id=0%3A1

    opened by mvnd06 4
  • Guide View Controllers Objective-C -> Swift Conversion

    Guide View Controllers Objective-C -> Swift Conversion

    Convert the Guide View Controllers to Swift.

    • [X] GuideCopingViewController

    • [X] GuideSuicidePreventionViewController

    • [ ] GuideSafetyPlanViewController

    • [X] GuideResourcesViewController

    • [X] GuideOverviewViewController

    • [X] GuideRecoveringViewController

    opened by NinjaSnail42 4
  • Add Crisis Support for other English-speaking Countries

    Add Crisis Support for other English-speaking Countries

    Right now the Crisis tab of the app only shows up for users in the US. The Android version already supports other countries, we should do the same here! The primary things that need to be customized to the country is the Suicide Hotline Phone # and a number to Text if it exists in the country targeted.

    opened by eddielement 2
  • Passcode Protection Feature

    Passcode Protection Feature

    We could add an extra layer of security for users by giving them the option to set a passcode. Should contain an easy way to reset their password. Ideally, we could have the option for authentication that's pre-built into their phones (Face ID / Fingerprint).

    enhancement 
    opened by eddielement 0
Owner
null
Safety Score App Development

Safety Score App Development Saftey Score is an app intended to make nights out safer. Locations will be given a score out of 5 based on user reported

Josh Vasey 0 Oct 26, 2021
Free time picker iOS Application with SwiftUI and Combine

Free time picker iOS application. This is iOS application for search free time in your calendar. Search Detail Environment macOS Catalina 10.15.3(19D7

fromkk 39 Jul 7, 2022
Mercury is a free English dictionary iOS application.

Mercury - English Dictionary Mercury is a free English dictionary iOS application. Why "Mercury"? In my trip to the USA I have bought the book "Cosmic

Oleg Rybalko 2 Apr 20, 2022
A mobile application that presents the news received via NewsAPI to the user. Built with SwiftUI.

?? SwiftUI News App with NewsAPI A mobile application that presents the news received via NewsAPI to the user. Built with SwiftUI. βœ… Features The data

Doğancan Mavideniz 5 Nov 15, 2021
This mobile application built in SwiftUI is designed to help you medicate your cat faster.

MediKitty This mobile application built in SwiftUI is designed to help you medicate your cat faster. If you medicate your kitty it will be happy Add w

Elijah J Grealish 0 Nov 2, 2021
iOS mobile development using Swift - Online Shopping Application

iOS mobile development using Swift - Online Shopping Application - yr4_sem1 This is an application developed as an individual project for Mobile Appli

Madhawa Jayagoda 2 Nov 10, 2021
Covid 19 Tracing Mobile Application

PVAMU-COVID19-APP Covid 19 Tracing Mobile Application This is my Senior Design Project 2021-2022 Mobile applications are the new gateway to have easy

null 0 Nov 15, 2021
A mobile application project designed for everybody which provides the easiest way to make searchs for public services

A mobile application project designed for everybody which provides the easiest way to make searchs for public services

null 0 Nov 23, 2021
A mobile application for the referee and the players

Description: A mobile application intended for everyone with the aim of making life easier for the referee and the players. This application allows th

null 0 Dec 13, 2021
Tic Tac Toe - Tic Tac Toe mobile application game developed with SwiftUI and AI technology

Hello, there! Welcome to The Tic_Tac_Toe IOS Applicaition The Aricah Cross platf

Travis Okonicha 2 Apr 27, 2022
MyNews-iOS - A simple iOS mobile application for reading news articles

MyNews A simple iOS mobile application for reading news articles. This app uses

Ernest Nyumbu 1 Mar 31, 2022
IOS mobile application that uses URLSession and Firebase

DogApp IOS mobile application that uses URLSession and Firebase. First a dog ima

null 0 Feb 13, 2022
Add to-do List - a mobile application where you can add your to-dos and follow them

This project, is a mobile application where you can add your to-dos and follow them. You can add your to-do's.

Cem 4 Apr 1, 2022
Full Stack Mobile Application built with Flutter, Java Spring-Boot and MongoDB

??‍?? Calling all chefs! Pocket Recipes is a recipe storage application with additional features that make organizing your recipes very easy.

Hayden Hanson 2 Dec 5, 2022
CarBode : Free & Opensource barcode scanner & generator for SwiftUI

CarBode Free and Opensource Barcode scanner & Barcode generator for swiftUI Why you must use CarBode CarBode have both Barcode Scanner and Barcode Gen

Narongrit Kanhanoi 196 Dec 30, 2022
Quotes App is quotes browsing app which is built with Quotable Free API completely in SwiftUI.

Quotes App is quotes browsing app which is built with Quotable Free API completely in SwiftUI. You can watch the whole journey of building this

Dheeraj Kumar Sharma 32 Nov 22, 2022
Free & Open source To-Do app for iOS

Summary I tried to make a To-Do application for my education graduation project. Table of contents Technologies Features Screenshots Installation For

Enes Nurullah Kendirci 3 Oct 25, 2021
Learn how to structure your iOS App with declarative state changes using Point-Free's The Composable Architecture (TCA) library.

Learn how to structure your iOS App with declarative state changes using Point-Free's The Composable Architecture (TCA) library.

Tiago Henriques 0 Oct 2, 2022
Free Market Selection Process Test

Prueba Proceso de Seleccion Mercado Libre (Xcode Version 13.0, iOS 15) Caracteristicas de la App SearchPortrait SearchLandscape DetailPortrait DetailL

Pedro Ramos 0 Nov 22, 2021