Giter VIP home page Giter VIP logo

reasons.club's People

Contributors

bertocq avatar dependabot[bot] avatar ferblape avatar furilo avatar waffle-iron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

reasons.club's Issues

Send notifications (live / hour / daily)

We should already have: notifications_queued - user | notification | period [hour,day] | status [pending,sent] | created_at

So for users with "live" notifications, it should send them right away, and we need a process for each notification frequency:

  • Hour: Every minute we search for users with pending notifications created 1h ago or more and compile & send them. Then change all the statuses to "sent"
  • Day: At a fixed time everyday we search for all pending notifications for every user, compile & send them, then change the status to "sent".

Karma system

Implement a karma system for the user account. Should be rewarded for contributions, and penalized for wrongdoings (like not following the guidelines)

Guidelines about what is a reason

When creating a reason, show guidelines about what is a valid reason:

  • Reasons should be facts backed by external references: newspaper articles, Wikipedia, professional publications
  • Reasons should include links to those external articles
  • External references can't be just opinion articles
  • If a reason can't be backed by an external reference, its just an opinion
  • A reason should just talk about one specific thing. If you need to talk about various things, create several reasons.

Edit reason title is 500ing

In production and in this branch, edit reason title is giving me a 500: NoMethodError in ReasonsController#update

undefined method `reasons'

both in production and in #52

Issue Header: votes counter

At the header of a Issue the votes counter doesn't reflect the actual number of votes among all the reasons:

screen shot 2015-06-17 at 17 jun16 47 19 1

Subscription & Notifications

This englobes a big set of features:

  • Subscriptions
    • Follow/Unfollow a Issue (works as a subscription but since there can be no notification, to use "follow" works better in my mind 😅)
  • Notifications
    • General notifications settings (live / hour / day / none)
    • Notification settings for an specific Issue (live / hour / day / none)
    • Reduce notifications (link in the mail to reduce the frequency of the emails)
    • Notification types:
      • Any activity in something you created (reason / issue)
      • New reason in issue
      • New vote in reason
      • New wiki edit in reason
      • New flagged reason (own / issue)
      • etc...
    • Create notifications
    • Send notifications #5

Explore Clubs: tag them, list tags

Be able to add tags to an issue (Club) to offer a way to discover related/interesting issues.

List tags, maybe in the home? tagcloud?

Reason: references

Complete the feature that lets the user add references to a reason (title + url)

Reason Flagging: #dataNeeded, #opinion, #duplicated, #deleted

Add controls to a Reason to be able to flag if for:

  • #dataNeeded: Needs to be backed with references in the description (or references section)the classic {citation needed}. The user will get an email asking for the data and will have a reasonable amount of time to complete them before the reason will be hidden.
  • #opinion: an opinion goes against the reason guidelines and will be hidden from the main list, in a secondary with #dataNeeded and #deleted.
  • #duplicated: pretty close to another reason, it will appear like a sub-reason of the first one.
  • #deleted: it should be hidden from the main list

There will be users that can review the flagged reasons and apply the correspondent actions (ask for data, hide, unhide)

Give different weights for each reason

Give different weights for each reason, because at least when making a personal pro-con list, not every reason has the same value.

We have many options to discuss:

  • Rating with stars [0-5](With too many reasons it wouldn't be enough)
  • Ordering in both sides from most to least important. (Lack of comparation)
  • Using tags (+/-) so the real weight comes from the importance that each user gives to each tag. Example:

¿Should I use disc brakes in road bikes?
PROS: Enhance security (#security +)
CONS: Increase bike price (#money +)
The rotor is a hazard in a crash (#security -)

Issue: Change title ajax / Edit Club Type

The issue's author should be able to edit the title and club type (closed group still not available) in the issue's page with ajax (click on a edit icon, type and hit save)

Substitute SMTP

Now if has the legacy free Mandrill which is failing, and thus producing a 500 whenever a notification has to be sent (reason voted, etc.)

Campaign duration tools

An issue can have a deadline or datetime limit to contribute (like in June 17th there will be elections and you are deciding to vote or not for a candidate)

A backwards counter or similar should be displayed, and sent reminders for the deadline by email

Issue log

Create a view that lists the actions associated to an issue (votes, new reasons, edits, flags, etc...)

Fix reason's modal

Fix a reason's modal view so it either has a specific url that will use the modal, or its own page view

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.