Skip to main content

Matching App Domain

The Matching App Domain is a React component library that provides comprehensive functionality for building job matching platforms. It serves as the foundational layer for B2C recruitment applications where organizations post job openings and job seekers apply for positions.

Overview​

The Matching App Domain is a business logic wrapper designed specifically for job matching and recruitment platforms. It provides a complete solution for connecting employers with job seekers through:

  • Job Posting & Application Management: Complete workflow from job posting to candidate selection
  • Multi-Application Support: Admin (platform management), Demand (job seekers), and Supply (employers) interfaces
  • Built-in Routing: Automatic route handling and navigation management for each application type
  • Real-time Communication: Built-in chat for employer-candidate communication
  • Extensible Data Models: Custom fields for jobs, organizations, applications, and user profiles
  • State Management: Built-in state management for real-time updates

🏒 Application Types​

The domain supports three distinct application types for comprehensive job platform management:

Admin Applications​

Platform management interface providing:

  • User and organization oversight for job seekers and employer organizations
  • Job posting moderation and approval workflows
  • Platform analytics and monitoring of application flows
  • Account management including user invitations, roles, and permissions

Demand Applications​

Job seeker interface providing:

  • Job discovery with filtering by skills, location, and salary
  • Application management for submission and status tracking
  • Professional profile and skill assessment management
  • Real-time messaging capabilities with potential employers

Supply Applications​

Employer interface providing:

  • Job posting management with requirement specifications
  • Candidate review and application evaluation tools
  • Hiring workflow management and candidate selection
  • Team collaboration tools for coordinating hiring decisions

πŸ”§ Key Features​

  • State Management: Centralized, type-safe application state with automatic UI synchronization
  • Built-in Routing System: Automatic route registration and navigation for all application types
  • User Management: Complete authentication, profiles, and role-based permissions system
  • Job & Application Workflow: End-to-end job posting, application, and hiring process management
  • Real-time Communication: Built-in messaging system between employers and candidates
  • Custom Fields: Extensible entities with TypeScript-safe custom properties
  • Multi-Platform Support: Unified interfaces for admin, employer, and job seeker applications
  • File Management: Resume and portfolio upload capabilities with Google Cloud integration

πŸ—ΊοΈ Built-in Routing System​

The Matching App Domain includes a comprehensive routing system that automatically handles navigation for each application type:

Automatic Route Processing​

  • Route Registration: Automatically registers routes based on application type configuration
  • Type-specific Routes: Different route sets for admin, demand (job seekers), and supply (employers) applications
  • Default Routes: Pre-built route patterns for common job platform workflows

Route Categories by Application Type​

Admin Routes: Platform management pages including user management, organization oversight, job posting moderation, and analytics dashboards

Demand Routes: Job seeker navigation including job browsing, application management, profile setup, messaging, and account settings

Supply Routes: Employer interface routes covering job posting management, candidate review, organization settings, team management, and billing

Route Features​

  • Authentication Guards: Automatic login/logout redirects and protected route handling
  • Dynamic Parameters: Support for parameterized routes (user IDs, job IDs, organization IDs)
  • Wizard Flows: Multi-step workflow routing for job posting and profile setup
  • Conditional Navigation: Smart redirects based on user state and permissions

βš™οΈ Configuration Options​

The Matching App Domain provides extensive configuration options to adapt to specific job platform requirements:

Application Configuration​

  • Application Type: Define application scope using ['admin'], ['demand'], ['supply'], or combinations
  • Service Endpoints: Configure backend API URLs for authentication, job catalog, messaging, applications, organizations, and user management
  • Session Management: Select between cookie-based or local storage session handling
  • Custom Routes: Override default routing patterns for job browsing, application flows, and employer dashboards

Platform Customization​

  • Attribute Terminology: Configure skill and attribute naming conventions (default: 'skills')
  • Pagination Settings: Define page sizes for job listings, applications, and candidate lists
  • Navigation Flow: Control redirect URLs for login, logout, and workflow completion states
  • Wizard Configuration: Set default pages for job posting and profile setup workflows

Advanced Configuration​

  • Token Management: Configure automatic session renewal intervals (default: 5 minutes)
  • File Upload Integration: Built-in Google Cloud file uploader for resume and portfolio attachments
  • Extended Services: Optional secondary API services for specialized operations
  • Real-time Communication: WebSocket configuration for live application notifications
  • Chat Socket Options: Configure WebSocket transport methods and connection paths for real-time messaging

Middleware System​

The domain includes over 50 pre-built middleware functions covering:

  • Authentication and user profile management
  • Job posting and catalog operations
  • Application processing and candidate workflows
  • Organization and team management
  • Real-time messaging between employers and candidates
  • File upload and attachment handling

πŸš€ Installation and Setup​

Installation​

Install the package using npm:

npm install @nodeblocks/matching-app-domain

Basic Configuration​

Configure the domain component with required service endpoints and application type:

import { MatchingAppDomain } from '@nodeblocks/matching-app-domain';

function JobPlatformApp() {
return (
<MatchingAppDomain
applicationType={['demand']}
serviceEndpoints={{
auth: 'https://api.jobplatform.com/auth',
catalog: 'https://api.jobplatform.com/jobs',
chat: 'https://api.jobplatform.com/chat',
order: 'https://api.jobplatform.com/applications',
organization: 'https://api.jobplatform.com/employers',
user: 'https://api.jobplatform.com/users',
}}
// ... other configuration options
>
{({ state, middleware, updateState }) => (
<Application
state={state}
actions={middleware}
updateState={updateState}
/>
)}
</MatchingAppDomain>
);
}

The component provides access to application state, middleware functions, and state update methods through a render prop pattern.

Custom Field Types​

Extend entity models with domain-specific data structures using TypeScript interfaces:

interface OrderCustomFields {
isPaid: boolean;
}

interface OrganizationCustomFields {
isVerified: boolean;
}

interface ProductCustomFields {
isFeatured: boolean;
}

interface TopicCustomFields {
isActive: boolean;
}

interface UserCustomFields {
isActive: boolean;
}

<MatchingAppDomain<
OrderCustomFields,
OrganizationCustomFields,
ProductCustomFields,
TopicCustomFields,
UserCustomFields
>
// Configuration options
/>