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.
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 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.
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.
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.
- 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.
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 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
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.
Access to Firestore is
Firebase Cloud Messaging integration for both native and web/PWA, with multi-environment support.
Email and Facebook authentication intially supported, with phone and more coming soon.
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
- 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.
The development environment initialisation scripts use the configuration file to simplify the project setup.
Scripts are provided which auto-configure from the configuration file to run the server and to build the mobile apps locally
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.
nxg-translate plugin integrated to make it easy to support multiple languages.
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.
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.
Updated to work with the latest releases of iOS and Android.
Integration with Google App Engine and Cloud Platform to easily monitor resources and scale as your app grows.
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
As this is a source code product you have access to the full source code to build and upon and customisation it yourself.
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 has all the code and setup you wish you had but isn't included in other started project which focus on UI screens
The Google Cloud/Firebase have their own admin console for viewing the Firestore data
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.
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.