Giter VIP home page Giter VIP logo

pointless's Introduction

Pointless
slides for presenters who don't need them

Description
- user can create as many slides as he wants
- user can create as many presentation as he wants (just come back to site with no ID)
- for each slide, user can define a text content and a picture
- for each presentation, the user can edit the slides html and css templates (only one for each presentation for now)
- user can switch between slides with left and right arrow/swipe
- user can make the content UI show/hide with up arrow/swipe
- user can make the template UI show/hide with down arrow/swipe
- a UI shows current slide and total slides
- empty slides are removed 

Tech description
- mainly client-side code, back-end just used as DB and ID generator
- user enters the site either with empty url, in which case an ID is generated for him and he is 
redirected to this URL.
- client-code starts by calling a back-end endpoint returning the currently saved document for the presentation
- once fetched
    - JSON doc parsed and rendered
    - JSON contain a css style sheet. It is added as a style node with a data-attribute so that it can be updated
    when the user edits the styles of the stylesheet
    - JSON contains an html template. For each content item, render it by replacing a few attribute

Example Json :

{
    html : "<div class="slide"></div>",
    css : "ul {}",
    content : [{
        text : "Lorem Ipsum",
        image : "img url"
    },
    {
        text : "Lorem Ipsum",
        image : "img url"
    }]
}



- when user changes slide with left/right arrow
    - clean slides to remove empty ones
    - if new index < 0, do nothing
    - if new index == nbSlides, add new slide
    - if new index > nbSlides, new index == nbSlides 
    - refresh UI


FEATURES
- add arbitrary variable for template (use mustache syntax ?)
- add UI to add arbitrary variable ( use bootstrap table to add/remove items ?)
- add codeMirror for html and css
- fetch JSON from server
- save to server
- delete slides
- swap slides
- copy slides
- go-to slide
- slide index
- slide number
- default template (tutorial)
- save presentations in mongodb
- fullscreen

pointless's People

Contributors

yanhick avatar

Watchers

 avatar James Cloos avatar

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.