- API endpoints need to be tightened up:
- they have inconsistent responses (particularly wrt error responses)
- scoping of API must be reviewed and improved
- Need to restrict access to someone's own resources (similar to Ruby CanCan)
- Hand-rolled solution
- Would like to use an off-the-shelf solution if available
- error bubbling and reporting MUST be managed
- Could not find "good" error logging library
- Aggregate different error types from different libraries
- catch all of them
- turn them into an application-specific error with error code, description, etc...
- respond appropriately to HTTP requests. Currently only one error response exists.
- Currently being used but not fully implemented. On feature development, use this library
- model validation across all models (Joi)
- models are validated at a schema level
- all models with "lifecycle events" must be validated.
- not every model is compliant; an example of a model that is missing validation is booklet
- some models are validated with code using Joi and some are not
- templating library for views
- admins should be able to manage OAuth clients via a web interface
- Currently, admin uses Postman to create clients
- Need a way to manage this from an admin
- Should integrate with CMS
- Started to build this here (nowhere near complete).
- customized Bootstrap implementation
- Currently Bootstrap is implemented but we are "layering styles on top."
- Want library built and pulled in as a dependency, potentially using Bower
- Could use in a "templated" solution for CommunityRecycling partners
- transfer CloudFiles to S3
- storing all generated booklets and labels in Rackspace CloudFiles
- Most of this logic lives here
- move to S3 storage solution
- create stylized grant dialog
- oauth2 'grant permissions' dialog
- partially complete
- needs better styling (similar to GitHub or FaceBook permission dialog)
These are large stories that need to be broken down further before starting
- organization dashboard
- display data to Partners (i.e. The Reformation project)
- shoebox integration
- merge two brands into one (http://shoeboxrecycling.com/ into communityrecycling.net)
- CMS / administrative functionality
- change pictures, change text, add blog posts, etc...
- possibly use a Ruby library like jekyllrb.com or a "node CMS"