Giter VIP home page Giter VIP logo

discussie's Introduction

Discussie

A minimal diqus alternative.

Server

Models

Comment

  • id UUID
  • url URL - related url for comment
  • comment String
  • name String
  • createdAt Date - readonly
  • parentId UUID - id of parent comment
  • wibble String - honeypot string

Upvote

  • id UUID
  • createdAt Date
  • url URL - related url for upvote
  • wibble String - honeypot string

API

GET /upvotes?url=<url-for-upvotes>

  • returns a count of upvotes for given url
  • returns date of last upvote

POST /upvotes

  • creates an upvote
  • use cookie to restrict upvoting?

GET /comments?url=<url-for-upvotes>

  • returns a count of comments for given url
  • returns list of comments
  • returns rendered markdown

POST /comments

  • creates a comment

DELETE /comments

  • delete a comment
  • would require auth layer

Roadmap

v0.1

  • upvoting

v0.2

  • single threaded comments
  • akismet integration

v0.3

  • comments on comments - multi thread comments

v0.4

  • delete comments
  • basic auth or other auth method for protected endpoints

v0.x

  • admin panel

discussie's People

Contributors

pietvanzoen avatar

Watchers

 avatar

discussie's Issues

Throttling and request origin validation

Ideally we want to ensure that only the site sending the plusfries can trigger a valid plus on that site. I.e. example.com can add a plus for example.com. But a random curl request can’t add a plus to example.com.

Not sure what the solution is here.

@keepitterron any thoughts? No rush. :)

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.