This serves as a simple RESTful service for the other TodoMVC example applications.
[NOTE: Each linked commit below is be a working version of the application. Earlier versions, may have some bugs. Listed from latest to oldest.]
- Feature: Add multi-user capability
- Feature: Handle bulk updates more elequently with request body detection, Array versus Object
- Feature: Convert from URL Query based update to request body update and Joi schema validation
- Tech: Clean up unneeded code and libraries, and reorganize files (HEAD)
- Tech: Roughly convert Universal TodoMVC application to solely a RESTful service.
npm install
npm run build
npm start
Visit localhost:3000
in your browser.
[Coming soon ...]
Here's the full tech-stack that we've chosen to execute this idea:
- TypeScript: used for transpiling (JSX and ES6) and module bundling for universal module design
- Rx.js: this is a powerful async library that uses Reactive Functional Programming at its core
- Express: our lightweight, un-opinionated, server framework
- PouchDB: quick data persistence solution
TypeScript is a language for application-scale JavaScript development. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source.
RxJS (Reactive Extensions Library for JavaScript) is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code.
The TypeScript website is a great resource for getting started.
Here are some links you may find helpful:
Articles and guides from the community:
Get help from other TypeScript users:
If you have other helpful links to share, or find any of the links above no longer work, please let us know.
Express has been around for a very long time, so documentation is ubiquitous. But, if you need a reference, the framework's main site is the place to go: http://expressjs.com/.
Redux has some great documentation at their main site here: http://redux.js.org/.
Here are some links you may find helpful:
There's a lot of information out there about Reactive Functional Programming (RFP), much of which can get really academic. What I like to do when teaching RFP is start with something almost any JS dev is going to be familiar with using – arrays and array methods.
Here are some links that discuss the foundations:
- 2 minute introduction to Rx
- Asynchronous Programming: The End of The Loop
- RxJS Beyond the Basics: Creating Observables from scratch
- Save time avoiding common mistakes using RxJS
Here is the more academic stuff:
There's even a whole online "manual": Learn RxJS