npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@wawjs/ngx-horeca

v22.0.0

Published

Support package for the Angular HoReCa template.

Downloads

442

Readme

@wawjs/ngx-horeca

Support package for the Angular HoReCa template.

@wawjs/ngx-horeca provides reusable feature contracts, services, and helpers for restaurant, cafe, hotel, event venue, spa, and other hospitality landing pages. It is designed to support the template app, not replace the app's pages or design system.

Business projects should import reusable APIs from this package and keep pages, routes, local content, bootstrap wiring, company data, and visual design in the app.

Installation

npm install @wawjs/ngx-horeca

Peer dependencies:

  • @angular/common
  • @angular/core
  • @wawjs/ngx-translate

Usage

import { DishService, type Dish } from '@wawjs/ngx-horeca';

The package exports feature interfaces, Angular services, and small utilities from its primary entry point.

Features

Articles

Exports Article and ArticleService.

The article service stores article lists in Angular signals, loads optional /data/article/i18n translations in the browser, normalizes partial API records, supports app-provided fallback articles, and exposes loading completion state.

Discounts

Exports Discount and DiscountService.

The discount service supports special offers, loyalty offers, and promotion detail pages. It normalizes partial API records, falls back to app-provided discount data when the API has no items, loads optional /data/discount/i18n translations, and exposes loading state.

Dishes And Categories

Exports Dish, DishCategory, DishCard, DishSection, DishService, DishCategoryService, and dish menu utilities such as toDishCard, filterDishesByMenuPage, filterCategoriesByDishes, findDishCategoryPath, resolveDishSectionCategories, and toDishSections.

Dish services support menu pages and dish detail pages. DishService stores dishes, preserves a fallback dish list, fills practical defaults for fallback data, loads optional /data/dish/i18n translations, and persists favorite dish slugs in localStorage only in the browser.

DishCategoryService stores category trees and exposes category signals for menu navigation. Dish menu utilities cover reusable behavior for favorites, seasonal specials, daily menus, category filtering by available dishes, category path lookup, and grouping dishes into menu sections. Page labels, routes, templates, and visual presentation stay app-owned.

Events

Exports EventItem and EventService.

The event service supports events, banquets, catering, and venue-program pages. It normalizes partial API records, uses app fallback events when API items are missing, loads optional /data/event/i18n translations, and exposes loading state.

Exhibits

Exports Exhibit and ExhibitService.

The exhibit service supports gallery-style image collections. It normalizes common image fields such as src, image, or url, creates stable fallback slugs, keeps app-provided fallback exhibits, and exposes loading state.

Jobs

Exports Job and JobService.

The job service supports job list and job detail pages. It normalizes partial API records, uses fallback jobs when no API items are present, loads optional /data/job/i18n translations, and exposes loading state.

Products

Exports Product and ProductService.

The product service supports retail-style catalogs, packaged goods, bakery shop items, merchandise, or purchasable service pages. It normalizes API records, supports fallback products, loads optional /data/product/i18n translations, and exposes loading state.

Profiles

Exports Profile and ProfileService.

The profile service supports team, staff, chef, host, or expert profile pages. It stores profile lists, supports app-provided fallback profiles, and loads optional /data/profile/i18n translations.

Questions

Exports Question and QuestionService.

The question service supports FAQ pages. It normalizes partial question records, uses fallback questions when needed, loads optional /data/question/i18n translations, and exposes loading state.

Quests

Exports Quest and QuestService.

The quest service supports activity, experience, challenge, or entertainment pages. It normalizes partial API records, supports fallback quests, loads optional /data/quest/i18n translations, and exposes loading state.

Reviews

Exports Review and ReviewService.

The review service supports testimonial and review pages. It normalizes partial review records, uses fallback reviews when no API items are available, loads optional /data/review/i18n translations, and exposes loading state.

Rooms

Exports Room and RoomService.

The room service supports hotels, accommodation, private rooms, and room detail pages. It normalizes partial room records, supports fallback rooms, loads optional /data/room/i18n translations, and exposes loading state.

Rules

Exports Rule and RuleService.

The rule service supports policy, house-rule, safety, and visitor-info pages. It normalizes partial rule records, supports fallback rules, loads optional /data/rule/i18n translations, and exposes loading state.

Data Flow

The package does not fetch API data by itself and does not import app-local JSON.

The app should:

  1. Load API/bootstrap data or local fallback data.
  2. Seed package services with fallback data.
  3. Resolve API data into package services when available.
  4. Render app-owned pages and components from service signals.

This keeps @wawjs/ngx-horeca reusable while allowing each business project to own its content and design.

AI Guidance

The package includes an ai/ folder for coding agents. It documents HoReCa template conventions, package boundaries, content rules, media rules, SEO expectations, and durable decisions.

When an agent works in a business project that depends on this package, it can read:

node_modules/@wawjs/ngx-horeca/ai/

The package also includes AGENTS.md with concise package-specific instructions.

Release Notes

See RELEASES.md.

When preparing a source workspace platform release, the root app/template package.json version must equal projects/ngx-horeca/package.json, and the root lockfile metadata should match.

License

MIT