Ionic 6 Full Starter App
IonicThemesBuy NOWLive Preview
  • What is Ionic 6 Full Starter App?
  • About this Ionic template
  • Template versions
  • Set up the development environment
  • Running the Ionic app
  • How to use this template?
  • Ionic Capacitor
  • Ionic Code Structure
  • Ionic Data Integration
  • Theming
  • Ionic Progressive Web App
  • Ionic Navigation
  • Ionic Server Side Rendering (SSR)
  • Ionic Splash Screens and Icons
  • App Shell
    • Image Shell
    • Text Shell
    • Aspect Ratio
  • Ionic Custom Components
    • Checkbox Wrapper
    • Countdown timer
    • Ionic Show/Hide Password
  • Ionic Walkthrough (or tutorial)
  • Categories
  • Ionic Firebase Integration
    • Firebase Authentication
    • Firebase CRUD
    • Firebase Hosting
    • Push Notifications
  • Google Maps & Geolocation
  • Ionic Video Playlist
  • Ionic Multi Language
  • Getting Started
  • Ionic Authentication
  • Ionic Side Menu
  • Ionic Profile
  • Contact Card
  • Social Sharing
  • Ionic Notifications
  • Forms and Validations
  • Filters
  • FAQs
  • Common Errors and Solutions
  • Glossary
  • Upcoming features
  • 🧐Changelog
  • Reviews / Testimonials ⭐️⭐️⭐️⭐️⭐️
Powered by GitBook
On this page
  • Code Structure
  • Services
  • Resolvers
  • Models

Was this helpful?

Categories

This template includes five carefully designed and developed categories with lots of useful components: Travel, Food, Fashion, Deals and Real Estate.

We carefully designed and coded five different and complete categories: Travel, Food, Fashion, Deals and Real Estate.

Each category has a Listing view and a Details view. Each of these pages is different and has different and unique components that you can reuse within your Ionic app.

Some of the components you will find in this section are:

  • Cards

  • Lists

  • Sliders

  • Maps

  • Tags

  • Text Blocks

  • Images

  • Grids

  • Progress Bar

  • Buttons

  • Icons

  • Countdown

  • Modals

  • Alerts

  • Different types of layouts to display your data in a beautiful and organized way

Code Structure

Services

Resolvers

If you were using a real world API, there might be some delay before the data to display is returned from the server. You don't want to display a blank component while waiting for the data.

It's preferable to pre-fetch data from the server so it's ready the moment the route is activated. This also allows you to handle errors before routing to the component. There's no point in navigating to a route if we don't have any data to display.

Models

The shell needs a model of the data to be shown so it can create the shell skeleton properly. Also, it's a good practice to have data models for our pages.

PreviousIonic Walkthrough (or tutorial)NextIonic Firebase Integration

Last updated 5 years ago

Was this helpful?

Also, all the categories pages implement the App Shell pattern, so we will use our .

All the categories have a same code structure: a details and a listing folder and a service (for fetching the data). Inside each folder you will find a module (because the route is ), a model, a resolver, and the page ts, html and scss files.

Each category has a service for fetching the data. Remember that in this template we use , however, when you build a real application, you will likely store your data in a remote database and connect it with your app through a REST API. So, you can use these services and change the local url for your remote API url.

are part of the Angular router library. It's an interface that a class can implement to be a data provider.

All resolvers from the categories section do almost the same: they ask the service for the data to be shown. Because we implement the App Shell pattern for these routes, the service returns an that firstly will emit the mock data (shell model), and then the real data fetched from the backend.

How to App Shell is implemented can be read in .

custom components for the App Shell
observable
local data fetched form local json files
Categories page
specific category code structure
Route Resolves and App Shell
lazy loaded
Resolvers