An opinionated, battle-tested boilerplate for building large, powerful, serverless apps with AngularJS and Parse.
Built by guys who would rather be coding than shopping
http://brandid.github.io/parse-angular-demo
Thanks to Mahmoud from Balanced for the inspiration to be more open.
We love Parse and AngularJS. We hate servers. Whilst building BRANDiD we developed some best practices around this stack, so we decided to open source it here. We even talked about it on the Parse Blog.
This boilerplate is a quickstart for large, maintainable, database enabled AngularJS apps. Let us know what we can improve via twitter @spacenick and @arush!
- AngularJS wrapper for the Parse JS SDK
- AngularJS wrapper for Cloud Code
- AngularJS wrapper for the Facebook API
- Bootstrap 2.3.2 + HTML5BP
- Enhanced Parse.Object and Parse.Collection with
load()
,saveParse()
,destroyParse()
- State Manager using ui-router
- Resolve Parse Data Before State Changes for awesome UX e.g.
return collection.load()
- Easy Animations on State Change
- Enhanced Load Performance of the Parse and Facebook SDKs
- Data Modules for Parse Models and Collections
- …and lots more
Read about all the features here
git clone git@github.com:brandid/parse-angular-demo.git
npm install
bower install
grunt server
// pro-tip: swap these keys out for PROD keys automatically on deploy using grunt-replace
...
Parse.initialize("***APP ID***", "***JAVASCRIPT KEY***");
...
BRANDiD regularly gets over 100 concurrent connections, and this architecture handles it with ease.
ericlemmons/genesis-skeleton - server boilerplate
daneden/animate.css - animations
Bootstrap CDN - Bootstrap hosting
- Convert to grunt-takana instead of grunt-contrib-compass (too slow)
- Tests (help!?)
- Upgrade to Bootstrap 3.0.x
- Guidance on User object creation / ACL to protect against this Parse API design decision. For those who need to retrospectively protect their database, read this thread
- Open source the BRANDiD Customer.io Cloud Code module to securely trigger transactional emails with unlimited custom data (You cannot send large payloads with the Customer.io JS SDK)
- Include AngularFirebasePatch for real-time support, which is our simple alternative to AngularFire
parse-angular-demo is licensed under the ☺ license. (http://licence.visualidiot.com/)
Next time you think of clothes, think BRANDiD - Shop. Like a Man.
- A dedicated expert shopper searches the ends of the earth just for you
- Try clothes from any ecommerce store in the world before you buy them, no commitment
- We ship and collect returns for free even if the retailer doesn't
Watch our TechCrunch Disrupt Battlefield Video here