Skip to content

glebv/Q

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Q Platform

###Developer Guide

###About Q There are lots of frameworks out there for making websites. You've probably encountered them. Well, Q is different. It was designed from the ground up to power social apps.

A social app is an app that enables spontaneous communication and collaboration between users. Out of the box, Q helps any app support user accounts, real-time collaboration and offline notifications, automatically scaling up to millions of users if necessary.

###Building with Q Apps built with Q can go viral as they work on practically every device and integrate with

  • emails + address books
  • mobile phones + contacts
  • facebook accounts + friend lists
  • Working in the Q platform encourages best practices when it comes to modern web standards, security, privacy, and achieving business objectives.

###A new landscape If you build or use websites, you know the landscape has steadily changed. Over 60% of mobile phone users now use internet-enabled smartphones.(1) You need to reach them where they are.

No — more than that — you should empower people to use your app in ways that take advantage of their new devices, while respecting their privacy and protecting them from information overload.

Q lets you get it right. It's a modular platform that provides a lot right out of the box, and can be easily extended with new functionality.

###Back End Technology Stack

  • PHP: Q runs on pretty much any environment with PHP 5 or above.
  • MySQL: Currently, Q needs MySQL to store data, but other adapters are coming soon.
  • Node.js: Optional but highly recommended, enables real time updates, notifications and more.

###Front End Technology Stack

  • Browsers: Q comes with libraries to quickly build extremely efficient web apps for desktop or mobile browsers.
  • PhoneGap: Also known as Cordova, it can be used to build native mobile apps with Q, which integrate with the phone's contact list and more.
  • jQuery: Some of Q's plugins make use of jQuery on the front end.
  • engine.io: Connects with Node.js on the back end to enable real time updates in the user interface.

Businesses and Startups

Use Q to build a social app, or even turn your existing applications into social apps. If you have an app that people use to do X, Q will let you:

  • Sign up users anywhere: Q handles all the details of user signup, either with email, mobile number, or facebook. We've thought through lots of architectural and security implications, and the result "just works". Try it yourself.
  • Viral invitations: Don't simply rely on word of mouth. Let people invite each other through SMS, email and facebook, taking advantage of our one-step invitation system.
  • Increase engagement: When you build an app that lets people collaborate from any device, they will find their own reasons to engage with your app more frequently and meaningfully.
  • Reward your users: Balance incentives and monetize your app using Q's Awards plugin, which powers badges, credits and more. Integrate with any payment processor, such as Stripe.
  • Measure and optimize: Rather having to guess how your app is doing, use Q's Metrics plugin built specifically to measure virality and engagement. Use up-to-date reports in your meetings to plan your strategy. Of course, you can still integrate Google Analytics or anything else.

###How Qbix can help you Consulting and Support: We can help you design and build your app to make the maximum impact on your bottom line, brand experience and user satisfaction. Our user base: Our platform currently has over 250,000 monthly active users. If your app turns out to be very useful, we can discuss giving it a head start by making it available to everyone on our platform.

Developers and Teams

Q was built from the ground up to help development teams be more productive.

  • Build once, run everywhere: Apps built on Q can run on desktop browsers, tablets and mobile phones practically out of the box. A unified framework allows for easier maintenance.
  • Re-use your code: Q is extremely modular. In fact, once you are done with your app, you can easily package any new functionality you've built as a plugin, to be installed and re-used in any other app. You will even be able to develop and sell plugins in our marketplace.
  • Support many users: We've done all the hard work of handling user registration, authentication, address book import, authentication, etc. Focus on writing your app, not reinventing the wheel.
  • Real-time collaboration: Q goes far beyond REST-based resource management. Just like Unix lets you work using files, Q lets you work using streams, which support joining, leaving, posting messages, real-time updates, subscriptions and notifications, and granular access control that integrates seamlessly with the user's contacts. People can, for example, invite their friends to a chess game, get updates in real time, and set up alerts on their phone. All you have to do is write the front-end interface to render and play the chess game.
  • Scalable: Unlike other web frameworks, Q is ready to handle the day your app makes it big. The database layer automatically supports sharding, and can smoothly scale your back end even as your app stays online, maintaining 99.99% uptime.
  • Efficient: Thanks to its design choices, Q is very efficient. It minimizes round-trips to the server, and supports caching at all layers. But since it uses socket.io, the caches are almost never out of date.
  • Flexible: We know that many frameworks make it hard to achieve exactly what you need. That's why you can override almost anything in Q. You can also easily import classes from other frameworks such as Zend and our autoloader won't get jealous — it's designed to play nice with others.
  • Built for teams: Q is designed for teams of developers, designers, testers and sysadmins to work together. Each team member can configure their local environment, with their own database credentials, facebook api keys, paths and so forth, while Q's installer keeps track of versions and migrations for each app and plugin. Designers can focus on themes, and testers can focus on tests.

##How Qbix can help you

  • Support and Certification: We are available to provide training and guidance on how to get the most out of Q. We also plan to offer classes and certification to those developers who want to make money working on Q projects.
  • Our community: We are currently in the process of growing our developer community. If you feel you can contribute, by all means join us!

Designers

Build beautiful interfaces through which people will interact with one another.

  • Separation of concerns: Q is built to enable teams to work together. Choose your templating engine, or use the ones that come with Q (PHP and Mustache) and don't worry about breaking the developers' code. Design layouts, views, email templates, and more.
  • Multiple targets: Apps built on Q are able to run on desktop browsers, tablets and mobile phones practically out of the box. Your themes will be accessed by users wherever they are. Q conventions enable you to design themes that work with different device orientations, properly support touch events, and more.
  • Dynamic interfaces: The front end interface in Q consists of one or more virtual pages, that load dynamically yet work correctly with the back button and browser history, taking advantage of HTML5 whenever possible.
  • Building blocks: Take advantage of reusable, self-contained tools that anyone can place on pages, or help build your own.
  • Front end scripting: If you have some JavaScript experience, you can let your interfaces update in real-time by listening for messages coming from streams via socket.io.

###How Qbix can help you

  • Theme marketplace: After designing and polishing your themes, you can package and sell them on our marketplace. Or give them away for free. Either way, when an app developer uses your theme, your work and your brand will get a lot of exposure.
  • Our community: We are currently in the process of growing our developer community. If you feel you can contribute, by all means join us!

Releases

No releases published

Packages

No packages published

Languages

  • PHP 62.2%
  • JavaScript 35.7%
  • CSS 2.1%