Lattice

The complete Ionic 4 and Firebase/Google Cloud starter

Save yourself months of effort or thousands of dollars 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 software development. 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.

Lattice 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 same start at a tiny fraction of the price.

Lattice 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

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

Lattice comes with the scripts to run a continuous integration build pipeline using GitLab CI.
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

GitLab CI build integration scripts automates your builds, testing and deployments from pushing to Git branches. All of this makes the server and mobile apps easier to build, test, operate and rollback.
In the world of PaaS and serverless this is more important than ever.

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 Angular error reporting service in the app sends 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 errors which are the same 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 continous integration, performanace analytics, consolidated logging and error reporting in production.

Core features

Monetization

Monetize your app from in-app purchases and advertising. Sample code is provided to quickly configure your monetization strategy.

Mobile/PWA/web app

Ionic app with core features (social auth integration etc).

Social Authentication

Facebook and LinkedIn integration for authentication and copying profile data.


Ionic Framework

Lattice is built using the Ionic version 4 with the Angular module. The common.


Firebase

Lattice integrates key features of the Firebase platform to jump start your project

Push

Firebase Cloud Messaging is integrated for both native app and web/PWA.

Data

Profile and other data is stored in Firestore, the new highly-scalable real-time database in the Firebase platform.

User identity and authentication

User management and authentication is handled with Firebase authentication.


Google Cloud Platform Support

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

Cloud functions

Multi-project build scripts for dev/qa/prod environments. Common functions provided for user registration etc

Firestore

TypeSafety.

FCM

Leverage the infrastructure that powers Google's global services to scale your app to millions of users with data analytics and machine learning.

  • 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 continous integration, performanace analytics, consolidated logging and error reporting in production.
  • .gitignore file configured to exlude all the generated files which shouldn't be committed to source control
  • Page Objects in the end-to-end protractor tests for good test code design
  • End-to-end integration tests for ...
  • 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 inititialised using the values from the environment specific generated values
  • ngx-translate initialised with the custom factory to make it work on the native builds
  • 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)
  • Service worker for Firebase web push notifications
  • Script to prompt to install as a PWA
Protractor configuration to automatically choose the appropriate Chrome configuration depending if desktop development or headless CI tests NPM scripts to: Add the Facebook plugin using the app id/name from the centralised configuration Generate the Firebase project Uses the and environment-dependant values generated from the master configuration file Functions project uses TypeScript on strictest compile settings and using the shared TypeScript data model to minimizes bugs * Firebase User onCreate function to copy data to an entry in Firestore and subscribe the user to a MailChimp email list * Firebase User onDelete function Node script to easily deploy the Firebase project to the appropriate environment using the values from the master configuration file The deploy script can be configured in the continous integration environment to work as it required authentication App Engine Koa 2 web application Essential middleware conifgured Middleware for Firebase authentication configured, with a corresponding BaseApiService in the app project to set the appropriate headers Firebase/Google Cloud modules auto-configure to use the default credentials when running in AppEngine, otherwise look for a key file in a specific format Our Koa utils for validating requests Routes to * Add admin role to a user * Remove admin role from a user * Send a test push notification * Upload a file

App Engine project

Lattice comes with an App Engine project using the Node.js 10 standard environment, which provide 28 free hours/month. AppEngine is preferred for user interactive API routes, as Cloud Functions can have higher latency due to more common cold starts.

Cloud functions

Koa 2 based web app with common routes such as uploading files provided.

Firestore

Scripts provided to deploy to App Engine for multiple environments

FCM

Koa is integrated with Firebase authentication to authorize protected API endpoints


High Quality TypeScript

Don't waste your time with low-quality starter code!
Lattice 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.


Simplified Configuration and Deployment
with multiple environment support

Setting up and configuring all the plugins, services and components for the server, Android and iOS applications is no easy feat. 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.


Centralised data model typings

The database data model interfaces are defined in server project.
The app and Firebase projects are configured to the import the shared definitions so you can ensure strong typing throughout your projects, minimizing type errors.


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.

Server database checks

Script to ensure MongoDB indexes are up to date on new deployments.

Mobile app database migration

Migration framework to update the database of the embedded SQL database in new versions of your app.

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 Lattice 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 Lattice documentation here.

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 to make sure it meets your requirements.

Lattice is designed to be your own starting project, or to integrate another product specific theme on top. Its 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 server project is provided which uses the open source Parse server. The database used is MongoDB. We provide first class support for deploying to the Google App Engine, although you can deploy to other cloud providers.
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
Lattice 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 Lattice source code licence here.
Currently you can only demo the PWA version here. Note that this is our development server and may break anytime as we are testing new code!

Android, iOS and web. Much of the basic functionality will be ported to Lattice using Ionic 4 and Firebase instead of Ionic 3 and Parse.

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

Lattice source code licence
(Includes Android, iOS, PWA, Node.js App Engine and Cloud Functions)
3 months of code updates included

$99

$47


Coming soon... Register below for updates

By purchasing the product you are accepting the licence agreement.