GithubHelp home page GithubHelp logo

tastestack's Introduction

TasteStack

Compare backend implementations in different programming languages.

Implementations

  • Node.js, Google App Engine, and gcloud - Source, Demo
  • Python, Google App Engine, and Morepath - Source
  • Symfony, Chaplin.js, and Backbone.js - Source

Creating a Backend Implementation

Your implementation will not directly modify TodoMVC. Instead, it will only respond to API requests prefixed with /api/ following the specification.

Node.js

If Node.js is a part of your implementation's stack, you may use todomvc-api (npm) to validate your API, then todomvc (npm) to pull in the front-end dependencies and Express server. If your own project involves Express, see gcloud-node-todos for an example.

The TodoMVC frontend implementations (e.g. AngularJS, Backbone.js, etc) can be brought into your project as a dependency via npm or git.

Other Backend Architectures

If you're not sure where to begin for Framework/Language "X", please open an issue so we can help guide you.

Being Featured

To be featured on TodoMVC.com, you will need to maintain a hosting environment for us to link to. If that is not possible, we will still gladly feature a link from this document.

tastestack's People

Contributors

addyosmani avatar sindresorhus avatar webmaven avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tastestack's Issues

Rails Trailblazer Implementation

Hello,

Really cool TodoMVC, when I saw TasteStack I thought, why not play with it? As a Trailblazer contributor, I tried to implement the specs for TodoMVC and it happened!

The repo is: https://github.com/fernandes/trailblazer-todomvc and its running under https://trailblazer-todomvc.herokuapp.com/

The application is running with test coverage and running your spec I got the following:

โ—‹ dredd todos.apib https://trailblazer-todomvc.herokuapp.com/ --hookfiles=hooks.js
info: Found Hookfiles: hooks.js
info: Beginning Dredd testing...
pass: POST /todos duration: 1076ms
pass: GET /todos duration: 869ms
pass: DELETE /todos duration: 891ms
pass: GET /todos/42 duration: 851ms
pass: PUT /todos/42 duration: 866ms
pass: DELETE /todos/42 duration: 1656ms
complete: 6 passing, 0 failing, 0 errors, 0 skipped
complete: Tests took 12862ms

Probably I did something wrong hahahah otherwise, you can add this as an implementation example :)

Thank you and good work guys!

TasteStack/TodoMVC-Server Consolidation

As previously discussed on Twitter I think there may be merit in merging previous efforts in todomvc-server with this project.

Hoping this issue will act as a basis for the discussion.

Considerations

  • I have started jotting down some ideas on a spec on the todomvc-server Wiki. Its far from complete but raises some questions I've had.
  • I created an exemplar project for the TodoMVC client code (this could be added as a submodule to example servers). The code is the Backbone app without the Local Storage aspect. I notice it won't "fail" if the server returns a non 200 error and I wonder if we should refine the client project to handle such situations properly.
  • I wanted to define a spec for how the servers API should behave when called in the various ways. This would then allow people to test their implementations (I also planned to write a small app that would test an implementations endpoint by giving it a URL - this would help people to ensure their app is valid against the spec)
  • I have rolled in the option of various persistence layers. We could then build out a matrix of web frameworks against persistence for easy lookup. This would be useful to provide a complete stack for people who want to see how Node and Riak look together for example. I assume from the name TasteStack this may be something that you'd see value in as well? I realise, though, a Todo app isn't exactly the best fir for a lot of persistence mechanisms (e.g. why would you even bother with a graph DB?)
  • I want to refine the pull-request process so that it includes enough information (at least a YAML config file) that can be used to build a reference/lookup site (similar to how MicroJS works I believe).
  • I initially included a NoJS option - whereby people could submit an implementation of the TodoMVC app without having to use the client code/javascript & XHR (e.g. not an SPA - just a normal multi page client server CRUD app). Not convinced this would necessarily be aligned with this projects goals and I'm happy enough to leave it out.

Thats about all I can rattle off for now. Lets talk about this and hopefully come to an agreement on the next steps.

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.