Startup Rocket

The premium Ionic 4 and Firebase/Google Cloud starter

Spend more time building customer and business value. Waste less time on technical issues and manual process.

Save yourself months of effort by leveraging our years of experience building Ionic and Google Cloud based apps.

You need more than a code template...

A successful software project is much more than code for a few screens and plugins. High performance software teams use modern, essential software engineering practices such as DevOps, automated testing and continuous integration.

Greetings! Let me quickly introduce myself... I'm a software engineer/architect with 15 years of commercial experience. In that time I've worked on multi-million dollar projects for the largest investment and retail banks, insurance, defence and telecommunication companies in Australia.

For the last 4 years I've developed Ionic apps, from version 1 beta up to the new version 4, on the Google Cloud. Some of the apps I've help co-found, such as Verona and Just A Baby have even been featured in the mainstream media.

Startup Rocket distills all that experience into a starter project which will save you countless hours and dollars developing and running your app. While you might not have the $10,000 spare to hire me for a month to build a solid foundation for your app project, this gives you the actual code I build my own apps on at a tiny fraction of the price of building it from scratch.

Startup Rocket is the only Ionic starter project which integrates everything you need for the whole software development lifecycle. From continuous integration builds to production monitoring through integrations with GitLab and the Google Cloud Platform.

And all the essential plugins/libraries/SDKs are integrated in a way that supports multiple project/environment configurations, along with essential screens such as admin pages, profile page, etc

Secure by design

Enterprise mobile security firm Appthority released a report in 2018 that thousands of mobile apps have exposed over 113 gigabytes of data from 2,300 unsecured Firebase databases.
Security can't be an after thought in your app. Best practices are baked into the project setup, configuration and tests from the beginning to minimize the risk of a data or account breach.

Continuous Integration

Startup Rocket comes with the scripts to run a continuous integration (CI) build pipeline using GitLab CI, running unit and integration tests.
Consistent builds and the automated test execution minimizes the risk of bugs being introduced to your production system from regression bugs and manual procedures. It also saves you time and money from automating essential test, build and deployment tasks.

GitOps

GitOps takes CI builds to the next level with specific branches handling deploying the code and configuration to App Engine and Firebase, and deploying your automated Android build to the Play store.
Most importantly it handles multiple environments. Commits to regular branches will be built and testing using a CI project, while merges to the QA or production branch will build and deploy to those environments.
This gives you more certainty and traceability to whats in your production and other environments. And makes rolling back a change as easy as reversing a commit in Git.

Performance analytics

Integration with the Google Cloud Stackdriver Trace service gives you insight into how your app is performing
Trace makes it easy to check how new versions of your server software are performing, and identify slow API calls so you can easily improve the experience for your customers.

Error reporting

How do you monitor errors in the native or web apps? The integrated Angular error reporting service in the app sends any client errors to the server so you can view them in the logs.
Integration with the Google Cloud Stackdriver Error Reporting service gives you actionable insight into any application errors.
The Error Reporting service groups the same errors together, and can notify you about new errors so you can quickly take action when application or service errors occur.

Automation

  • Advanced, but simple to use, project setup supports multiple environments eg, dev, QA, continuous integration and production.
  • NPM scripts refined over the years make routine tasks, such as deploying to the app stores, a single time saving command.
  • Integration with GitLab and Google Cloud to provide the full software development lifecyle of continuous integration, performance analytics, consolidated logging and error reporting in production.

Ionic Framework

Startup Rocket is built using the Ionic version 4 release candidate with the Angular module. Integrated are all the nice-to-haves such as lazy loaded sub-modules, PWA support, and our utils and services refined over the last few years such login sequence management, unit test support, user/profile management and more.


Google Cloud Platform Support

Startup Rocket comes with first-class support for running the Node.js server application on the Google App Engine, and serverless functions.

App Engine

App Engine project using the Node.js 10 standard environment, providing 28 free hours/month. Koa 2 web app with Firebase Auth integrations and common route functionality

Cloud functions

Firebase functions provide integrations to Auth, Firestore and HTTP functions for the admin functionality. Multi-environment support and support for local HTTP functions in development.

Firestore

Access to Firestore is

FCM (Push)

Firebase Cloud Messaging integration for both native and web/PWA, with multi-environment support.

Authentication

Email and Facebook authentication intially supported, with phone and more coming soon.

Cloud SQL

Optional Cloud SQL integration provided for relational data (coming soon).


A sample of the functionality in the starter project includes:

  • .gitignore file configured to exclude all the generated files which shouldn't be committed to source control
  • New users are copied into Firestore and registered into a MailChimp email list
  • Facebook authentication, which copies profile data from Facebook
  • Login service to encapsulate the logic which which screens to go to in the login sequence (e.g. location setup, accept terms & conditions, profile setup, then home page or another if opened from a push notification)
  • Contact page and social sharing
  • Page Objects in the end-to-end protractor tests for good test code design
  • Protractor and Karma configuration automatically choose the appropriate Chrome configuration running tests in a development or headless environment
  • TestUtils class with all the required services provided or mocked for easy test development
  • AngularFireModule module initialised using the values from the environment specific generated values
  • Internationalisation using ngx-translate, initialised with the custom factory to make it work on the native builds
  • Service worker for Firebase web push notifications configured for the selected backend environment
  • App debug functionality to send a test push notification and submit app details and error logs
  • Jest used for App Engine and Firebase functions unit and E2E testing
  • Koa 2 used in the Firebase HTTP function and App Engine. Native async/await support provides more elegant code than Express
  • Koa 2 middleware for protecting API routes which require authentication or admin role.
  • Firebase/Google Cloud modules auto-configure to use the default credentials when running in AppEngine/Cloud Functions, otherwise look for a key file in a specific format
  • NPM script for adding the Facebook plugin and enabling CORS in cloud storage - all driven from the centralised configuration file
  • NPM scripts to automate building, testing and deploying to App Engine, Firebase for multiple environments
  • NPM scripts to automate building and deploying the native app to the Play and iOS store
Admin functionality
  • View all admins
  • Add/remove admin role to other users
  • Search for users by id or email
  • View reported content
  • Remove reported content
  • Ban a user

High Quality TypeScript

Don't waste your time with low-quality starter code!
Startup Rocket uses the strictest Typescript compiler settings to minimize potential bugs. Language features such as partial types used where possible to enable more static type checking, minimizing bugs and increasing your confidence to refactor.
The frameworks, file structure and design has all been thought out to make the code base as clean as possible.

Centralised data model typings

The AppEngine, Firebase and app projects are configured to share the same TypeScript data model interfaces. So you can ensure strong typing throughout your projects, minimizing type errors.


Simplified Configuration and Deployment
with multiple environment support

Startup Rocket supports building and deploying your app to multiple backend environments, such as development, QA and production, and automatically configuring the appropriate API keys etc for the other services integrated.
Follow the step-by-step documentation to populate the centralised configuration file. Then the provided NPM scripts make building, testing and deploying for each environment a single command.

Setup

The development environment initialisation scripts use the configuration file to simplify the project setup.

Build

Scripts are provided which auto-configure from the configuration file to run the server and to build the mobile apps locally

Deployment

The simple scripts which deploy the server module and deploy the app builds to the Apple and Play store also use the configuration file to make it simpler, reduce errors and allow automation.


It's the little things that count

Just like the centralised configuration file, its all the small improvements which add up over time. You benefit from the improvements implemented from feedback by customers running real production apps.

Internationalisation

nxg-translate plugin integrated to make it easy to support multiple languages.


PWA Support

Generate the environment specific Service Worker for Firebase messaging, and the required integration to prompt to install

Client log submitter

Errors from the mobile apps are posted to the server logs for analysis.

Multi-environment support

All the code and scripts integrated to support dev, CI, QA and production environments from a single code base.

Optimised to reduce your runtime costs

Use of both the App Engine standard environment and Cloud Functions gives you a generous free-tier for your multiple environments.

Up-to-date

Updated to work with the latest releases of iOS and Android.

Cloud native

Integration with Google App Engine and Cloud Platform to easily monitor resources and scale as your app grows.

Rapid

Cross-platform scripts to quickly test, build and deploy your app to the app stores.

Discount rates on services

Customisation and support services are at a discount to our regular rates.



Frequently Asked Questions

You will be given access to a Git repository hosted on www.gitlab.com
As you will have access to the Startup Rocket Git repository, you will be able to merge in updates to your repository as soon as they become available.
As this is a source code product you have access to the full source code to build and upon and customisation it yourself.
You can view the Startup Rocket documentation here. (Currently in progress...)

You will receive support for the initial setup and we will provide guidance and recommendations for customisations you wish to do.

While we aim to make the setup as simple as possible, there are numerous plugins, services to be integrated, and a number of setup step to setup and deploy to the app stores. You are expected to have some competency with the frameworks and services used, all which provide their detailed documentation.

For training and customisation requests please see our services page.

The product is provided AS IS. Please test the demo apps and view the overview to make sure it meets your requirements.

Startup Rocket is designed to the foundation code of your app, providing all the key infrastructure and integrations. If there is another theme project which has specific screens you wish to use then you can integrate another product specific theme on top.
Startup Rocket has all the code and setup you wish you had but isn't included in other started project which focus on UI screens
A Node.js App Engine project is provided along with a Firebase Cloud Functions project. These both use Firebase authentication, Firebase Cloud Messageing and the Firestore database.
The mobile app contains screens for admin users to browse reported users, delete inappropriate photos and ban users.
The Google Cloud/Firebase have their own admin console for viewing the Firestore data
Startup Rocket is developed by the founder of AppOrchestra, a senior software engineer from Australia with 15 years commercial software development experience and 4 years of Ionic experience, and 7 years of Google Cloud/App Engine
You can view the Startup Rocket source code licence here.
We will have a demo up soon! For the expected future functionality check Cloneder as much of the functionality will be ported to Startup Rocket using Ionic 4 and Firebase instead of Ionic 3 and Parse.

Feature Roadmap

The first phase will be migrating functionality in our Ionic 3 starter project to Ionic 4, Koa 2 and Firestore/SQL. This includes full-featured chat functionality with group chats, audio messages etc. And In-App purchase integration using Stripe for web/PWA.

Beyond that YOU drive the feature requests. We'll provide plenty of ideas to choose from. For example integration of Google Cloud scheduling tasks with sample jobs implementations such as push notification reminders to increase app engagement and database backups and exporting into BigQuery.


How Much Does An App Cost To Develop?

A report by Yalantis put a Tinder clone at $60k to $90k, and simple app starting at $20k

We've sold many copies of our Cloneder Ionic 3 starter project at $800 a pop. When creating it from scratch can easily cost 20x to 100x times as much, and freelance senior developers costing $100/hr or more its an easy decision to make. The time spent each month developing this at market rates is worth thousands.

But we wanted to make this even more affordable to the solo developer or self-funded startup to get started, so you can spend more time building customer and business value instead of constantly dealing with technical issues.

As we're yet to migrate some of the functionality from our Ionic 3 & Parse framework based project to Startup Rocket the initial cost is a fraction of what the final price will soon be. And if you purchase now you will also keep the ongoing support subscription discount.

STANDARD

Startup Rocket source code
  • Complete pro Ionic 4 starter app
  • Multiple environment support with GitOps deployment
  • Fully functioning backend using App Engine and Firebase
  • Continuous Integration (CI) builds on GitLab CI with unit & E2E tests
  • Automated Android native builds & submission to Play store
  • Script for one-click iOS build and app store submission
  • App error reporting integration to Google StackDriver
  • Submit bug reports
  • Submit/Vote on new features

$199

$49

(Register below for an additional 20% off)
then $30/month for updates & support
then $15/month for updates & support
(cancel and re-subscribe any time)


By purchasing the product you are accepting the licence agreement.

PRO

Startup Rocket source code
  • Complete pro Ionic 4 starter app
  • Multiple environment support with GitOps deployment
  • Fully functioning backend using App Engine and Firebase
  • Continuous Integration (CI) builds on GitLab CI with unit & E2E tests
  • Automated Android native builds & submission to Play store
  • Script for one-click iOS build and app store submission
  • App error reporting integration to Google StackDriver
  • Priority bug fixes
  • Priority Submit/Vote on new features

$199

$49

(Register below for an additional 20% off)
then $60/month for updates & support
then $30/month for updates & support
(cancel and re-subscribe any time)


By purchasing the product you are accepting the licence agreement.

The how and why of the subscription pricing

We want to be transparent in our pricing structure so it reflects the cost to provide the value given, while keeping it affordable for everyone. The initial cost reflects the value of the code initially delivered on purchase and any initial setup support. The ongoing subscription reflects the time taken to update libraries/modules/SDK's, test, update documentation and add new features while keeping backwards compatibility (e.g. providing migration scripts), and provide support. The more features we add, the more ongoing testing is required to ensure everything still works as expected.

To provide a way to keep the cost down for the hobbyist or cash-strapped startup we have made it so you can cancel and resume your support subscription at any time. For example if you you're not doing much ongoing development on your app then you could buy a 1 month support every second month, halving the overall ongoing cost. Even if you don't have an active support subscription you will still get access to all the commit messages in the source repository so you can check for any bug fixes or features that you might like.

Soon on purchasing you will having an account created in the AppOrchestra CRM (which is being built on Startup Rocket!) where there will be cancel and re-subscribe links (as well always being able to cancel a subscription from in your PayPal account). For the moment getting access to the GitLab repository is a manual process.