introducing mongobase
DESCRIPTION
MongoBase is a framework written in PHP and jQuery that allows for the rapid development of web-applications and is used by MongoPress, MongoMail and MongoKong as its core foundationTRANSCRIPT
WEB-APP FRAMEWORK
( sponsored by )
NOT JUST
ANOTHER
FRAMEWORK
Web-Apps Vs Blogs CMS
• Need for rapid prototyping
• Need for instant scalability
• Need to obtain sign-ups
• Need distributed media
• Automated communication
• Extend reach through APIs
• Only use what you need
• Difficult to do with schemas
• Not Native to SQL DBs
• Unintuitive to admin focus
• FS difficult & costly to scale
• Difficult to FULLY re-brand
• Complex if using schemas
• Do you need a kitchen sink
LET’S TALK ABOUT
RAPID PROTOTYPING
WITH MONGOBASE
Create DB + Collection + Insert Data(even doing this natively with pure MongoDB and PHP is simple)
// MongoDB PHP Class$m = new Mongo();
// Select Database & Collection (Table)$db = $m->freesquare;$collection = $db->places;
// Add Document (Add a Record)$obj = array( "title" => "KL MongoDB User-Group", "loc" => array( "lng" => 101.67646, "lat" => 3.127896 ))$results = $collection->insert($obj);
Create App + Collection + Insert or Update Data
// Configure MongoBase and Set Cascading File Inclusion$init = array(‘id’:‘3square’,'modules‘:array(‘db’,’auth’)); $mb = new mongobase($init);
// Add or Edit a Translatable Document via Dynamic User ID$updated_user_location = array( “col” => ‘user’, “id” => $mb->modules[‘auth’]->get_id();, “obj” => array( "title" => $mb->__("KL MongoDB User-Group“), "loc" => array( "lng" => 101.67646, "lat" => 3.127896 ) ))$results = $mb->modules[‘db’]->mbsert($updated_user_location);
Rapid Development from Front to Back
• Integrated Font-Awesome Icons• Integrated SHIMs, Polyfills & Responsive Hooks• Integrated iOS Enhancments & HTML5 Forms• Drag & Drop Image Uploading & Aviary Filters• Auto Inclusion of JS and CSS Files from Slugs• Auto AJAX Fetching for Gravatars & Data DIVs• Filterable JSON-Powered Pivot Tables• Flexible CSS Frameworks & Re-Sets
ONE FINAL THING (ON RAPID PROTOTYPING)
THERE IS NO SPOON!!!
LET’S TALK ABOUT
INSTANT SCALABILITY
WITH MONGOBASE
Instant Scalability with MongoBase
• Uses mongoDB as its ONLY data-store
(with out-of-the-box backup & load-balancing)
• Eliminates the need for traditional caching
• Unique Timestamped IDs rather than auto-inc
• Incredibly fast!
SOME SAY 6,000 TIMES FASTER!!!
http://labs.laulima.com/how-to-import-7-million-locations-from-geonames-to-mysql-then-into-mongodb-so-they-be-compared-and-optimized-for-location-queries/
MongoDB is an Instantly Scalable Database(with out of the box replica-sets and sharding)
Instant Scalability with MongoBase
• Ability to create templates in HTML or PHP
(can parse pages in browser with Handlebars.js)
• Intelligent cascading auto-inclusion of core files
• AJAX Content Fetching & Processing
• All media stored and served from mongoDB(also means it is backed-up and distributed)
Not to Mention Distributed Caching!
LET’S TALK ABOUT
INVITE-ONLY SIGN-UP
SCHEMAS USED BY MONGOBASE
The Invite-Only Sign-Up Schema
Why Invite-Only …?
• With web-apps, we want to communicate with our users and potential customers…
• We need to gather email addresses, which are easier to get when only asking for that
• We can then convert email applicants into users later using automated intelligence
• FYI – This is not fixed, only set-up by default
THE PSYCHOLOGY OF EXCLUSIVITY
HELPS DEVELOP LOYALTY
LET’S TALK ABOUT
DISTRIBUTED MEDIA
WITHIN MONGOBASE
Distributed Media with GridFS
Other Added Benefits of GridFS
• GridFS Obtains Original Media Meta but also allows you to add custom fields
• This allows for integrated view counts or embedded location coordinates, etc
• It also means we can search for media in the same way we search for objects!
• Can also be used to cache fully rendered pages and (or) individual AJAX-fetched snippets…
YOUR OWN MEDIA MAIN-FRAME
LET’S TALK ABOUT
BUSINESS INTELLIGENCE
AT THE CORE OF MONGOBASE
Business Intelligence at Core
• Automated mailing-list generation from user types with dynamic field filtering
• Staged auto-confirmation, verification, activation and processing email messages
• Integrated support via email and accessible by integrated web-access
Business Intelligence at Core
• Extensible platform with secure cross-domain (server-specific) 2-Way API access
• Administration pages can be easily extended to handle any & all applications
• Have all of your company applications integrated through a single system
MAKE INFORMED DECISIONS
LET’S TALK ABOUT
OUR CURRENT PROGRESS
06/JUNE/2012
Current MongoBase Modules(all working but at different stages of semi-perfection)
• ADMIN (FULLY CUSTOMISABLE)
• API (INSERT, UPDATE, FIND & DELETE)
• AUTH (SHA256 HASHED TOKENS)
• DB (BUILT-IN ORM FOR MONGODB)
• EMAIL (SEND AND VIEW IMAP OR POP3)
• FORMS (PRETTY HTML5 FORMS)
• GRIDFS (STORE AND SERVE IMAGES)
• ROUTES (DEFINE APP LOGIC)
• URLS (FULLY CONTROL URI REQUESTS)
• MEDIA
• WYSIWYG
• GEO
• LAYOUTS
………………………… 90%
…………………………… 95%
…………………………… 95%
…………………………… 95%
………………………………. 100%
………………………… 90%
………………………… 90%
……………………. 80%
…………………………… 95%
…. 10%
.. 5%
………… 40%
……… 35%
NOT YET WORKING - NEED CONVERTING
WHO IS USING MONGOBASE…?
Mindvalley Marketplace (Project Collaboration)
HackrBackr (Private Social-Network)http://hackrbackr.org
MongoPress (CMS)*http://mongopress.org
MongoMail (CRM)*http://mongomail.org
…and more
LEARN MORE
MongoBase Website:http://mongobase.org
MongoBase Twitter ( @mongobase )http://twitter.com/mongobase
Mark’s Smalley’s Twitter ( @m_smalley )http://twitter.com/m_smalley