WP Manifestindependent plugin directory
manifest / integrations / app-nilplyr-plugin

PLAYR Core

PLAYR APP Plugin in WordPress

by Chris Hurst · github.com/chrishursty/app-nilplyr-plugin

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/chrishursty/app-nilplyr-plugin/archive/refs/heads/main.zip

PLAYR Core is the foundational WordPress plugin that powers the PLAYR App.
It provides all the backend data structures, REST API endpoints, and app logic for the PLAYR ecosystem — an athlete–brand matching platform that blends social discovery, NIL deal management, and chat messaging into a single, installable WordPress experience.


🧩 Overview

PLAYR Core turns WordPress into a full-featured web app for connecting athletes and brands.

It handles:

  • User roles and onboarding (Athlete, Brand, Admin)
  • Profile creation (as custom post types)
  • Swipe-based discovery and matching
  • 1:1 chat and messaging between matches
  • REST API endpoints for all app interactions
  • Extendable foundation for deals, offers, and notifications

The plugin is designed to be theme-agnostic and API-driven, meaning you can build front-end interfaces in:

  • A custom theme (like the Playr App Shell)
  • React or Vue components loaded via shortcodes
  • A mobile app or PWA wrapper using the REST API

🛠️ Core Features

Feature Description
Custom Roles athlete, brand, admin
CPTs athlete and brand profiles with thumbnails, descriptions, and taxonomies
Custom DB Tables wp_playr_swipes, wp_playr_matches, wp_playr_messages
REST API /playr/v1/ namespace with endpoints for queue, swipes, matches, and messages
Shortcodes [playr_swipe], [playr_chat match_id="123"], [playr_onboarding]
Extensible Easily add deals, ratings, or notifications as new modules
Theme-Agnostic Works with any theme; optimized for the “Playr App Shell” theme
PWA/Native Ready Clean API structure for wrapping with Capacitor or native mobile apps

⚙️ Installation

  1. Upload the playr-core folder to /wp-content/plugins/
  2. Activate PLAYR Core through the Plugins → Installed Plugins screen in WP Admin
  3. Optionally install the companion theme: Playr App Shell
  4. Create these core pages:
    • /discover/[playr_swipe]
    • /messages/[playr_chat match_id="1"]
    • /onboarding/[playr_onboarding]

That’s enough to start testing the MVP flow.


🧱 Database Schema

Custom Tables Created on Activation

Table Purpose
wp_playr_swipes Records swipe actions between users (like/pass)
wp_playr_matches Stores matched user pairs
wp_playr_messages Chat messages exchanged between matched users

Roles Added

  • athlete
  • brand

Each CPT post (Athlete or Brand) is tied to its author (the WP user).


🔗 REST API Endpoints

Method Endpoint Description
GET /wp-json/playr/v1/queue Fetches swipe queue for current user
POST /wp-json/playr/v1/swipe Records a swipe (like or pass)
GET /wp-json/playr/v1/matches Retrieves user’s matches
GET /wp-json/playr/v1/messages?match_id=ID Gets chat messages for a match
POST /wp-json/playr/v1/messages Sends a new message to a match

All endpoints require authentication (via WordPress cookie, nonce, or OAuth token).


💬 Shortcodes

Shortcode Purpose Example
[playr_swipe] Displays the swipe/discovery interface [playr_swipe]
[playr_chat match_id="123"] Displays chat interface for a given match [playr_chat match_id="12"]
[playr_onboarding] Optional onboarding or setup wizard [playr_onboarding]

Each shortcode enqueues its own front-end JavaScript bundle and connects to the PLAYR REST API.


🧭 Recommended Theme

For a native app-like experience, install the companion theme:

👉 Playr App Shell
A lightweight, mobile-first WordPress theme that provides:

  • Full-height, sticky navigation layout
  • Responsive app-style container
  • Dark mode ready CSS variables
  • Minimal markup for embedding [playr_*] shortcodes

📱 App Store / PWA Readiness

PLAYR Core is designed from day one to be deployable as a PWA or wrapped into native apps.

  • Add a manifest + service worker via a simple “Playr PWA” plugin.
  • Use Capacitor or PWABuilder to package it for the App Store and Google Play.
  • The REST endpoints remain identical between the web and mobile versions.

🚀 Roadmap

Version Planned Features
0.1.0 (MVP) Roles, CPTs, Swipes, Matches, Chat, REST API
0.2.0 Filters (sport, location), Match list UI, Profile editing
0.3.0 Deals/Offers CPT, Email notifications, PWA manifest
1.0.0 Real-time chat (WebSockets), Push notifications, Native App Wrappers

🧰 Developer Notes

  • Built to WordPress coding standards and 6.x REST API conventions.
  • Namespaced under playr/v1.
  • Avoids third-party dependencies (pure PHP/JS) for performance.
  • Works in both classic and block themes.
  • Compatible with WP multisite.

👤 Author

Chris Hurst
Senior UX/UI Designer & WordPress Developer
https://iamchrishurst.com


⚖️ License

This plugin is open-source under the GPL-2.0+ license.
You are free to modify and redistribute with attribution.


🧡 Contributing

Pull requests, bug reports, and feature ideas are welcome.
Future contributions may include:

  • Enhanced REST pagination & caching
  • Media uploads in chat
  • Notification hooks
  • UI components for Gutenberg block integration

PLAYR CoreThe open, modular backbone for the next generation of athlete–brand apps built on WordPress.