Beta

Tech stack 1

Angular and Firebase

Build full-stack Progressive Web Apps (PWAs) with modern Angular and Firebase features. Plus NgRx SignalStore, Angular Material, Tailwind CSS, and more.

Access now (in beta): base template and simple example app
Coming soon: patterns example app (in development)

Base template (free)

An opinionated but lean full-stack starting point for building a web app, using Angular and Firebase. Aiming to be useful enough so you can hit the ground running and focus on stuff that matters. With enough room for you to extend as you need.

Simple example app

A simple logbook app — keep a single time-ordered log of text entries. With a basic UI, data model and persistence into a database, with real-time updates. Focused on showcasing and learning the tech stack. Built from the base template.

Patterns example app

[Coming soon — in progress] A dedicated place for showcasing even more in-depth capabilities and patterns to bring out the best in this tech stack. Built from the base template.

Real-world projects

[Coming soon] We'll provide more details on the real-world projects that have driven and validated this tech stack.

Technologies and services used

For local development, testing and deployment

Base template features

The base template gives you an empty app skeleton, working end-to-end, with the following included:

  • Simple folder-based monorepo with completely separate frontend (app) and backend (firebase) folders, with a VS Code workspace config to work on both folders at the same time.
  • A place for shared common code (especially TypeScript types) between frontend and backend (firebase/common).
  • Modern Angular features configured and used throughout (inject function, signals, signal inputs, signal outputs, router input bindings, control flow, etc.)
  • Full Firebase local development and testing using the Firebase Emulator Suite (with local persistence of emulator data).
  • Firebase Hosting, Auth, Firestore, Realtime Database, Cloud Functions and Cloud Storage all set up and ready to use.
  • Firebase Hosting configured with appropriate caching rules.
  • Basic progressive web app (PWA) set up (manifest, service worker, icons, etc) with in-app update notification.
  • Static prerendered pages set up, configured to work properly with Firebase Hosting and the PWA configuration.
  • State management using NgRx Signals.
  • Global auth store and auth guard.
  • Login flow using Firebase Auth's Email Link.
  • Angular Material and Tailwind CSS, with styling overrides to make them work well together.
  • Helpers to inject Firebase services into Angular components, services, etc.
  • RxFire used for Observable wrappers for Firebase access in the frontend.
  • Frontend logging using consola.
  • VS Code, ESLint, Prettier, etc. all set up for a consistent and clean development experience.
  • Continuous integration (CI) set up with GitHub Actions (for linting, tests and builds).
  • Deploy script to deploy to a "live" Firebase project (which you set up).
  • Basic frontend tests, using Jasmine and ng-mocks.
  • Firebase security rules test suites using the Firebase Emulator Suite, using Vitest.

For more details see the Architecture and design decisions doc.