Giter Club home page Giter Club logo

listerous's Introduction

Listerous

Feature overview

Listerous is an application for creating simple lists, and collaborating on them with other users. It's powered by Firebase, so the code here is just a front-end, and all lists are stored on the Firebase servers. Each list has a unique URL, and creating a new one (using the create new button from the interface) generates a random URL and your list is henceforth accessible with that ID. Also, by navigating to listero.us/whatever, you can either create or access a list with the ID "whatever". When you view a list, its identity is stored in a browser cookie, so you can view an index of your most recently viewed 10 lists from the history page (sorted by recency of access). Listerous has been tested in a majority of modern desktop browsers, and is designed to function just as well on iOS, and hopefully other mobile browsers.

Security

More or less irrelevant. Listerous doesn't maintain any user state, so your lists are technically public. However, as the great Professor X has said, "anonymity will be the first line of defense" -- it's practically impossible for someone else to guess your list's ID hash, unless you create lists with common IDs (e.g. listero.us/test). In the Firebase I'm using behind my deployment of Listerous, I have the ruleset:

{
  "rules": {
    ".read": false,
    ".write": false,
    "lists": {
      ".read": false,
      ".write": true,
      "$list": {
        ".read": true,
        ".write": true
      }
    }
  }
}

This ensures that new lists can be created and modified within the untouchable "lists" structure, but a directory of existing lists cannot be read from an API endpoint. And you can only delete/modify lists if you have their ID, so we should be set.

Coming eventually

  • Better iPad formatting. Listerous thinks your iPad is an iPhone, so the interface is huge. It shouldn't be difficult to format as if the site was being viewed from a desktop browser...
  • A more flashy history page. What I have now works and looks okay, but there's always room for a little more swag. Timestamps for last edited time would be pretty awesome (though it's already sorted by how recently you accessed a given list).
  • Better handling of text overflow. Either disallowing long items, rezising text appropriately, expanding the height of textboxes, or some other solution.
  • Highlighting fields on click? This feature is built in already and ready to deploy with the change of a variable, but I can't decide if it's the right thing to do. If you have an opinion, let me know.
  • Built in sharing options, i.e. click this to email, tweet, post, whatever your list.
  • Your ideas! Listerous is open source, so feel free to re-implement or re-deploy at will, or hit me up with your ideas and I'll probably see fit to implement them.

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.