CLI tool
ionic-team/ionic-conference-app avatar
ionic-team/ionic-conference-app

Ionic Conference App: a kitchen sink demo that doubles as a version reference

A conference app built with Ionic to demonstrate Ionic

3,589 stars1,799 forksTypeScriptNOASSERTION

At a glance

What is it?
The Angular edition of Ionic's conference showcase, now on Angular 22, Ionic 9 and Capacitor 8 with a Node 24 engine pin, useful less as an app than as a known good configuration you can copy out of package.json.
Who is it for?
The useful thing about this repository is that it is a maintained answer to a question people keep asking, which is what a current Ionic plus Angular plus Capacitor project looks like when the people who build the framework build it.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 15 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The README is upfront that the conference is fictional

The first substantive paragraph describes the project as a kitchen-sink demo application built with Ionic Framework and Angular, and the stated purpose is to showcase a wide range of Ionic components and features in the context of a fictional tech conference app. A note follows immediately: there is no actual Ionic Conference, and the project is purely for demonstration purposes.

That framing matters more than it might seem, because it tells you what to do with the code. This is a component gallery with an app wrapped around it, so the right way to read it is as a set of working examples rather than a product. The feature list is correspondingly broad and correspondingly generic: browse a conference schedule with filtering, view speaker bios and session details, user authentication and profile management, interactive maps for venue navigation, push notifications support, dark and light mode toggling, and cross-platform support across iOS, Android and Web.

There is a hosted demo to try, though the README points at a second deployment separate from the homepage field. The link in the README goes to a Vercel deployment under an `ionic1` branch path, opening straight at the schedule tab, while the repository's recorded homepage is a different Vercel URL. Two deployment URLs for one demo is a small inconsistency, and if the linked one fails the other is worth trying.

Three framework editions, one per UI library

The Framework Variants section lists the same application built with React and with Vue, in sibling repositories under the ionic-team organisation, with a checkmark marking the Angular version you are currently reading. Read that as a coverage statement about the framework rather than as three separate products: the same screens exist in all three, so the fastest way to compare Ionic's component API across Angular, React and Vue is to open all three demos side by side.

That is genuinely the most efficient use of these repositories, and it is worth saying because the alternative, comparing documentation, tends to hide the differences that matter. Binding-specific idioms, how routing is configured, how the component lifecycle maps onto Ionic events, and how platform behaviour is handled all differ between the three, and the same app makes those differences concrete.

What you cannot get from the comparison is which approach fits a given team, because the demo makes the easy parts look identical and leaves the hard parts, state management, data fetching and testing strategy, largely out of frame.

Getting it running takes two global installs and four commands

The prerequisites are Node.js at an LTS version with npm, plus two CLIs installed globally:

bash
npm install -g @ionic/cli
npm install -g @angular/cli

Then the installation section is a numbered list. Clone the repository, change into it, install dependencies, start the dev server:

bash
git clone https://github.com/ionic-team/ionic-conference-app.git
cd ionic-conference-app
npm install
ionic serve

The dev server then comes up on `http://localhost:8100`, which is Ionic's default port rather than Angular's, and is the single detail most likely to confuse someone who expects the usual 4200.

The README is short on troubleshooting because there is not much to troubleshoot at this stage. The interesting configuration lives in the repository root, where `ionic.config.json`, `angular.json`, `capacitor.config.ts` and `ngsw-config.json` each own one layer of the build, and `ios/` and `android/` are checked in as native platform projects rather than generated on demand.

package.json is the real content of this repository

If you take one file from this project, take `package.json`. It documents a coherent current stack, and the alignment is the point.

Angular packages sit at version 22, with `@angular/pwa` and `@angular/service-worker` for the offline and installable story. Ionic is at `^9.0.0`, with `@ionic/storage-angular` at 4 for persistence. Capacitor is at 8 across core, app, device, haptics, ios, keyboard, splash screen, status bar and the two platform packages, which is a clean example of picking exactly the plugins a real app needs and nothing else.

Two entries show this project straddling eras on purpose. `@awesome-cordova-plugins/core`, `@awesome-cordova-plugins/in-app-browser` and `cordova-plugin-inappbrowser` are still present, which only makes sense in a codebase being carried forward rather than started clean. `sw-toolbox` and `wait-on` sit there as well, and the presence of `webdriver-manager` and `@awesome-cordova-plugins` suggests e2e tooling that has not been revisited.

The `engines` field pins Node to `24.x`, which is a stronger constraint than the README's LTS recommendation, and the project is marked `private` with version `0.0.0` and the Ionic Team as author. There is also a `renovate.json` at the root, so the dependency set is kept current by automation rather than by hand, which is the most important fact here for anyone treating this as a version reference.

Progressive web app plumbing and Firebase hosting

Several root files exist for reasons a casual reader would not guess. `ngsw-config.json` configures the Angular service worker, which is what makes the web build installable and cacheable, and it pairs with the `@angular/pwa` package and `service-worker` package in the dependency list. `firebase.json` and `.firebaserc` configure a Firebase deployment target, which is the historical hosting path for this app even though the current demo is served from Vercel.

`capacitor.config.ts` holds the native build configuration, and a root script named `generate-h2-push.js` suggests a helper for HTTP/2 server push. `eslint.config.js` and `.stylelintrc.yml` cover both JavaScript and Sass linting, and the npm scripts reflect that split: `lint` runs `ng lint` and then chains a separate `lint:sass` step that invokes stylelint over the Sass sources in `src/`.

The `resources/` directory is the Ionic convention for icons and splash screens, and `src/` is where the application lives. There is no separate storybook or component gallery directory, which reinforces that the gallery is the app itself.

One placeholder release tag and a much more recent push

The release history is a single entry and it is explicitly not a version you would install. Tag v4, named Last v4 release and published 2020-03-10, carries the note that it is used as a placeholder for the last update before transitioning to v5. There are no other releases.

Meanwhile the repository was last pushed on 2026-09-21, the dependency versions in `package.json` are Angular 22 era, and the project has roughly 3,600 stars with about 1,800 forks. That fork to star ratio is the interesting number: for most projects a fork means interest, but for a demo that people install to look at code, a fork means someone copied it as a starting point. Which is exactly the intended use, and also the reason to keep the expectation low about the application being complete.

The repository is not archived and carries 12 open issues. The README points contributors at `.github/CONTRIBUTING.md`, and it states MIT licensing with a LICENSE file at the root, which the badge and `package.json` both agree on, though the GitHub metadata records no standard license identifier for the repository itself.

Editorial conclusion

The useful thing about this repository is that it is a maintained answer to a question people keep asking, which is what a current Ionic plus Angular plus Capacitor project looks like when the people who build the framework build it. The dependency set is coherent rather than aspirational, with Capacitor 8 plugins for haptics, keyboard, splash screen and status bar, Ionic storage for persistence, Leaflet for the venue map, and an Angular service worker configuration for the web build. What it is not is an application to extend. The conference is fictional, the data is static, and the fork count is larger than most of its stars, which tells you most people copied it once and moved on. Clone it, run `npm install` and `ionic serve`, read package.json for the version alignment, and treat everything under `src/` as a component gallery rather than a starting point.

Frequently asked questions

What is the Ionic Conference App?

It is a kitchen sink demo application built with Ionic Framework and Angular, showing a wide range of Ionic components in the context of a fictional tech conference app. The README states plainly that there is no actual Ionic Conference and that the project is purely for demonstration purposes.

How do I run the Ionic Conference App locally?

Install the Ionic and Angular CLIs globally, then clone the repository, run npm install in it, and start the dev server with ionic serve. The app is served at http://localhost:8100, which is Ionic's default port rather than the Angular default of 4200.

Does the Ionic Conference App exist in React and Vue too?

Yes. The README links sibling repositories for the Ionic React Conference App and the Ionic Vue Conference App, marking the current repository as the Angular version. Because the same screens exist in all three, opening the three demos side by side is a quick way to compare Ionic's component API across Angular, React and Vue.

Which versions of Angular, Ionic and Capacitor does it use?

package.json declares Angular packages at version 22, @ionic/angular at 9, @ionic/storage-angular at 4, and Capacitor 8 for core plus the app, device, haptics, keyboard, splash screen and status bar plugins. The engines field pins Node to the 24.x line, which is stricter than the README's LTS recommendation.

What is the latest release tag on the repository?

There is only one tag, v4, published on 2020-03-10 and named Last v4 release. Its own note says it is a placeholder for the last update before transitioning to v5. The source tree itself is far newer, with a push recorded on 2026-09-21, so the tag is not a meaningful version to install.

Is this a real conference application I can extend?

Treat it as a component gallery rather than a starting point. The data is static, the conference is fictional, and about 1,800 forks against 3,600 stars suggests most people copy it once to inspect working Ionic code. Read package.json for the version alignment and then start your own project instead.

Official sources

  1. ionic-team/ionic-conference-app on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ionic-team-ionic-conference-app.svg)](https://hysenlabs.com/projects/ionic-team-ionic-conference-app)