๐ MIT License
โ๏ธ Copyright (c) 2016 Michael Sarfati
Status: Pre-alpha
- A fork of ๐ Flask-Diamond web framework, forked for pedagogical purposes.
- Inspired as well by Sinatra and NodeJS
- Clone project
git clone [email protected]:msarfati/dodecahedron.git
- Make the virtual environment
mkvirtualenv -a . --always-copy dodecahedron
- Install and test
make install && make db && make test
- Run the server
make server
- Adhere more strictly to RESTful principles:
- Architectural Styles and the Design of Network-based Software Architectures by Roy Fielding
- RESTful Web APIs by Leonard Richardson and Mike Amundsen
- REST CookBook
- REST API Tutorial: Status Codes
- HATEOAS compliance
- RESTful code generation based on models and simplify model creation with generation scripts
- Versioning: Embed in the header
- Pagination: Limit collection queries to some number (25?) globally. Support limit and offset, embed into query.
- Query GET response:
api.dodecahedron.net/book?fields=title,author
will return{"title": "my title", "author": [{"id": 1, "href": "..."} ]}
- Resource references / linking - in addition to returning object as JSON, return a
href
linking to the exact resource. Also, if there are any explicit relations, include 'href' - REST metaclass supporting HTTP verbs: POST, GET, PUT, DELETE, and possibly PATCH and HEAD
- โ
reqparse is deprecated, integrate Marshmallow - โ
Auto-generate schemas from models with Marshmallow-SQLAlchemy
- Better
dbshell
support