compassionprojects / socialchange Goto Github PK
View Code? Open in Web Editor NEWA home for all social change stories where NVC is a part of
Home Page: https://nvcsocialchange.org
License: GNU General Public License v3.0
A home for all social change stories where NVC is a part of
Home Page: https://nvcsocialchange.org
License: GNU General Public License v3.0
Make sure to secure the application by adding the right csps https://edgeguides.rubyonrails.org/security.html#content-security-policy-header
Users should be able to subscribe to get notified when a new discussion, story update or a new post is created for a story/discussion.
subscriptions:
--------------
story
discussion
user
subscribed_to: new_discussions | new_posts | new_story_updates
We need to provide a notification preferences page where user is able to set preferences.
For the subscriptions, the page should list the story / discussion user is subscribed to and must give an option to unsubscribe.
Todo:
Preferences:
Notifications:
Todo:
Tried it but canny yet doesn't allow languages nor dark background. So parking this for now
Standardrb does not seem to respect the .ruby-version
of the project. Until this is resolved, remove it's gh action.
Allow only pdf, doc(x), ppt, png, jpg for file attachments.
User story:
As a user, part of the social change community, I'd like to learn more about these stories by engaging with the creators. Understanding the difficulties, hardships faced while implementing such a project gives me ease and clarity in organising similar initiatives/projects in my neighbourhood/circle.
For this, I'd like to create a topic and describe it. Members of the community/story can respond to the thread. And I'd like to receive notification when someone responds. I'd also like to be able to subscribe to notifications on topics I am interested in.
As a story creator myself, I'd like to be able to moderate discussions, meaning, I should be able to delete topics/responses that are offensive / spam / irrelevant. I'd also like to be able to flag responses as inappropriate/spam, so that a community manager is able to take action on it.
As a topic creator, I'd like to be able to delete the discussion which I just created. I'd also like to be able to edit and correct any mistakes.
Captcha is a nice option but we want to prevent the UX hurdle so use something like a honeypot captcha.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Translation missing: en.datetime.distance_in_words.short.about_x_years by Madhu
Expected behavior
The date should say "a year ago" instead of missing translation error
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
None
As simple_form
provides default wrappers, it helps us in reducing the boilerplate bootstrap code and maintain consistency among different forms.
Currently, users#index
is set as root for when admin's enter the admin dashboard at /admin
.
This should be changed so that if a user who only has story_updates.manage
permission, is able to land on /admin/story_updates
.
ActionController::InvalidAuthenticityToken in devise/sessions#create
Can't verify CSRF token authenticity.
vendor/bundle/ruby/3.2.0/gems/actionpack-7.1.2/lib/action_controller/metal/request_forgery_protection.rb:293 - handle_unverified_request
Created by Madhu via Bugsnag
Or add a filter so that there are no empty results returned
https://stackoverflow.com/questions/36195409/postgresql-json-column-check-key-exists
Not all email templates in app/views/users/mailer/*.html.erb
have been translated.
Projects are the core of social change.
Users can create many projects and add other users are collaborators.
A project has a title, description, time frame (start/end dates), outcomes, societal change, intention, location, attachments (photos/documents), perhaps a website/community link. Some of these fields should be translatable to other languages.
A project should also have a category or tags.
Projects have discussions where people are able to create topics and discuss them.
A project also has settings which enable discussions and manage collaborators.
Collaborators can have a few roles (moderator, editor, admin).
Moderators and Admins are able to moderate discussions (edit/delete topics/discussions).
Editors and Admins of the projects can followup by posting updates.
Only Admins are able to change project settings.
A project can have a state, draft - while writing, published - when published and archived - when archived. Only Admins of the projects are able to archive the projects.
Projects interface should be designed in a way with a focus towards bringing policy change in locally or globally.
Current code of conduct has some terminologies like "requesting apology", "ban", "correction" and other non-dialogue based approaches. Revise these to bring in element of humanity and needs consciousness.
When creating the first story update of a story, doesn't update the UI. It's seen only after refreshing a page.
Steps to reproduce:
ExampleException in home#example
Something really bad happened
app/controllers/home_controller.rb:123 - example
app/controllers/other_controller.rb:12 - broken
lib/important/magic.rb:4 - load_something
Created by Madhu via Bugsnag
Following #38, we'd want a user to follow stories and discussions.
We can add a polymorphic association like so:
# app/models/user_subscription.rb
class UserSubscription < ApplicationRecord
belongs_to :user
belongs_to :subscribable, polymorphic: true
end
# app/models/user.rb
class User < ApplicationRecord
has_many :user_subscriptions
end
# app/models/story.rb
class Story < ApplicationRecord
has_many :discussions
has_many :user_subscriptions, as: :subscribable
end
# app/models/discussion.rb
class Discussion < ApplicationRecord
belongs_to :story
has_many :posts
has_many :user_subscriptions, as: :subscribable
end
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.