ifmeorg / ifme Goto Github PK
View Code? Open in Web Editor NEWFree, open source mental health communication web app to share experiences with loved ones
Home Page: http://www.if-me.org/
License: GNU Affero General Public License v3.0
Free, open source mental health communication web app to share experiences with loved ones
Home Page: http://www.if-me.org/
License: GNU Affero General Public License v3.0
Huge thanks to the super talented Tess Gadwa for writing a usability audit on if me. To view it see: https://www.dropbox.com/s/5zftbyt3jrdfxsv/ux-report.if-me.pdf?dl=0
The following bullets are the most important points we should focus on:
They use the same back end logic and they are essentially the same feature. Would be nice to simplify the navigation!
Hi,
In the triggers section I've started to fill out entries for moods - under the impression that moods are like emotional-states and that categories are there to, like, model some sort of causal relationship between experiences involving certain people/places/objects and emotional-state-transitions. However, in the current version of the application, I can't seem to be able to model theses causal relationship between people/places/objects and moods (based on my "intuition" / impression of how said features should be used).
Thoughts, on how the functionality of the triggers part of the application, in general, should work / possibly be enhanced?
Thanks,
Mark.
Hey,
I feel like I'd want to somehow be able to measure and log my sleep schedule, nutritional content of diet, exercise vigor & time, supplement intake, meditation time, etc. when using ifme. When poking around the app, I almost feel as though I'd like to be able to compare these measures/log to my mood/trigger event at a nearest moment in time and derive strategies from there. Derive strategies and then hopefully be able to determine how effective they are/adjust them in sort of a circular way with the data/support. There's no way to really have these measures/logs in ifme right now, is there (and use them approximately as suggested)?
Just an idea I had when thinking about how I would want to use the app. Thoughts?
To help on board new contributors, we should have a wiki with screenshots and explanations of the existing features.
Hi,
Somewhat following my train-of-thought from #88: there doesn't currently seem to be a 'central feature' that would allow me to write about mental health experiences - with which I could apply triggers (causal relationships between categories and moods), to describe the emotional-state-transition that occurred for me during said experience.
On a somewhat related note, I'm somewhat just describing my train-of-thought when using the application in these issues and apologize if it doesn't align with how others think the application should work / how certain features should be used.
Thoughts?
Thanks,
Mark.
Hey I'm currently in therapy after years of homelessness and mental illness and since I'm interested in technology, my therapist and I have been talking about how we might be able to include technology in our sessions. I've brought my laptop in and showed her cool stuff like Github, Cloud9, IBM's Bluemix, and Trello and I plan on showing her If Me in our next session, but at first glance I'm assuming she'll see it mostly as a cool idea at this point but maybe even yet another software she'll have to deal with.
So how can she see it as something we need to be using right away?
Anyway, personally, and as a mental heath patient, I can't stand talking about my triggers and moods, but the strategies and groups sections interest to me. I would love to click on strategies and see proven strategies for overcoming addiction, or getting out of homelessness, or depression, or etc etc and then be able to network with people and talk about it with both peers and professionals in the session. Something like like a virtual "crisis house" with advanced technology would be really cool.
Also, are you guys HIPAA compliant? That's a huge issue to us and a big reason why we couldn't use something like Google Docs because they track all your keywords and browsing history and whatnot and sell it to marketers and advertising companies. So, we're talking about using military grade encryption to cover our sessions.
Anyway If Me looks cool. I may end up contributing in some fashion and hope to hear back from you!
There needs to be a feature in place for doing so and a moderation system for that
For now, the only way you can add someone as an admin is through rails console. We don't need a UI for that. Definitely add documentation on how to do that in the README.
We should have a code of conduct for team communication (particularly on Slack).
Ideally, there should be unit tests for every model and controller in the app.
Make the layout responsive for mobile
Hi,
I found myself wanting to report non-prescription substances I use with the belief that they help enable control over my emotional-state, so that I can then work towards the emotional-state I'd wish to maintain/achieve.
I suppose I could add these substances under medications
; but it feels a bit unnatural?
Also, rather than listing a prescribed dosage and refill, I feel like I'd want to instead list what quantity I was taking at certain time intervals (like daily), track its cost and try to measure its effectiveness inside the application (in relation to experiences and emotional-states I would be e.g. writing about with the application).
What are your thoughts on having a more general 'substance' feature, I suppose would be my question? And to integrate with the rest of the application?
Thoughts in general?
Thanks,
Mark.
I get this page when I got to strategies/new when logged in with my Google account. The error on my server is this:
ActionView::Template::Error (undefined method 'name' for nil:NilClass):
44:
It appears that when using Oauth, User.where(:id => item).first just returns nil.
The UX could be sooo much more engaging. Various people can work on this!
These are the most critical areas to address (in order of importance)
users should be taken through filling out details about the mood they chose in the first step of onboarding.
This includes situations that may arise when this mood happens (triggers/moments), potential ways to cope with it if it's something to be coped with, etc.
groupid does not pass through to the create action of meeting
Determining if two users are allies currently requires searching two lists. Accessing each list requires multiple dereferences, which need to be checked for null. Making allies a junction table would make working with this table much easier, and is required to solve #11 cleanly.
User has to refresh the page(after the first rendering) in order to use the timepicker.
Using Chrome or Firefox, and the dev environment on my own machine (using a fork from today), I'm having an issue with the Nav Bar.
When I go to 0.0.0.0:3000 (home) --> Strategies --> ifme --> The Sign out, Account, Profile do not appear.
Steps to reproduce:
bin/rake db:create db:migrate
Will be fixing this in the next hour or so!
Create a way where users can identify commonly occurring moods/emotions that will later populate on a landing page.
Users should be able to choose up to 3.
Creating categories, moods, and triggers feels like a redundant process. We should combine creating categories and moods while writing triggers (also giving the option for users to add descriptions and manage all categories and moods in one place)
Our primary focus has been creating tools for people looking for support. We should also enhance the experience for people using the app primarily to support others. Supporters can use all the tools supportees can use.
However we should provide recommendations on what to use for supporters. Should we consider the supporter/supportee persona in user onboarding? @jeanieshark
I am currently working on adding a timepicker and a calender to the meetings' feature.
currently the allies who are able to view your posts are all adjusted manually. this should be done automatically and users should be able to configure if they dont want certain or any users to see their post.
I'm currently working on the privacy policy and am looking for help to write it!
Things we want to outline:
When adding a new trigger, if a category doesn't exist that fits the topic, the user cannot make one, however, they may make new strategies if one doesn't exist that fits their needs.
Navigating to the "create a strategy" page, deletes anything written in the trigger form. The user can also add new categories from this form. Again, navigating to the category form deletes any progress on the "strategies" form. Additionally, sometimes navigating forward, such as from the Triggers form to the hyperlink "Anxious" in the moods dropdown, and then navigating back, causes the form to freeze.
There are a few solutions I can think of:
simplest: open these links in a new tab, which preserves the old forms.
medium -- for moods: shows these descriptions in a modal/tool-tip.
medium -- for forms, going back and forward preserves the content. I actually thought this was a default so I wonder how to enable it.
Allyship seeds cannot be created after running rake db:seed
and/or rake db:setup
After putting debug statements in seeds.rb, the error message is coming from the different_users validation in Allyship.rb, which makes no sense because the user ids used are different and non-nil
Create support groups from allies use them to tag triggers and strategies.
Saving as a draft does not publish the trigger/strategy to the user's allies. On the other had, publishing does.
By explicitly specifying a user ID in the query string, any user can view any other user's profile page. This also allows a user to indirectly determine the total number of if-me users.
Steps to reproduce:
Log in as any user and make a GET request of the form http://www.if-me.org/profile?userid=N, where N is any integer. If a user with ID N exists, their profile page will be returned. Otherwise, HTTP 404 is returned.
Brakeman can look for security issues
http://brakemanscanner.org/
Rubocop can look for style issues
https://github.com/bbatsov/rubocop
Create better 404, 422, and 500 pages that match the UI and are more helpful to the user. Right now, they are pages auto-generated by Rails.
Posts on treatment and exercises to improve a user's condition
Tied to a specific categories and triggers
Users are able to "adopt" strategies from their allies and add them to their triggers.
Ideally, string labels (used in forms, headings, etc.) should be placed in config file so that we can easily modify things in the future. Go through all of the strings being used in the various views and put them in en.yml
Broadly speaking, what research in psychology might help provide ideas / give implicit suggestions about how to improve the design & functionality of ifme?
ActiveRecord::RecordInvalid in TriggersController#comment
Validation failed: Comment can't be blank
Empty comment boxes should be rescued correctly
I would recommend indicating somewhere what version of ruby you are using for development of this project, so that new contributors know what to set up and to minimize any weirdness that could be caused by people using different versions.
I think you can enforce this programmatically with a .ruby-version file. At a minimum, maybe specify it in the README.
Example:
Categories > New Category > Create Category without filling out fields
In this example, name is a mandatory field, but no label is being used so it isn't being highlighted.
Fix:
We don't want to add labels, so we need a way to highlight the field when it needs to be filled out. However, right now when you enter text in a field, the border turns red. So perhaps change this normal behaviour to green, and highlight the field as red when it needs to be filled.
A similar bug exists in Medications as well
The goal the triggers feature is to tell stories about an event, moment, or experience that played an affect on your mental health (whether positive or negative)
Currently the feature looks like this:
In order to get the user to share more details, it's important to have useful writing prompts. We need a way to cater writing prompts based on a user's needs.
We would like a feature to screen what a user's needs are? Perhaps a short survey they can fill out when they first use the app to figure out what they would want to get out of the Triggers feature OR options in the Trigger feature to determine what type of writing prompts they would want to see.
e.g.
Some principles when writing code are the Law of Demeter and SOLID. If you're interested, I'd suggest reading the blurbs about them.
Basically, programming lives by the concept that no single function or class should know, or do, too much. At the moment, the taxonomies function violates that bit.
Similarly, the application.html.erb has many long conditional chains to determine what to render.
We can actually refactor both of these things so that 1) the controllers tell the views what title and contents to render, and 2) the models take care of their pluralization (which, I think though I'm not sure, is the main function of the taxonomies methods).
Anyway, I wanted to log an issue while I tinkered, so if there needs to be conversation about it, there can be.
I need to create UML diagrams for the existing models. Anyone else who is adding a model should do the same. It will make it easier for people to decipher the database schema.
Set a default profile picture if the user has not uploaded one
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.