VIP Client Area
WordPress addon: deals-based file sharing and Kanban client area
by VIP Service China · github.com/ywemay/wp-clientarea · website
★ 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/ywemay/wp-clientarea/archive/refs/heads/master.zipReadme
VIP Client Area - WordPress Addon
A complete WordPress plugin that replicates the VIP Service China File Cloud functionality. Deals-based file sharing, Kanban task management, and client communication portal.
Features
- User Roles: Admin (WordPress administrator) and Customer (vip_customer role)
- Authentication: Token-based API auth stored in user meta
- Deals: Create deals, grant access to specific customers
- File Sharing: Upload/download files per deal with MIME validation, secure storage outside web root
- Notifications: Automatic notifications when files are uploaded (localized: EN/PT/ES/RU)
- Kanban Board: Drag-and-drop task management (Pending → In Progress → Review → Completed)
- Task Comments: Per-task threaded commenting
- Task File Attachments: Link deal files to tasks
- i18n: Multi-language support for the frontend SPA
- REST API: Full REST API at
/wp-json/vip/v1/*for the SPA - Admin Pages: WordPress admin interface for managing deals, customers, files, and settings
Files Structure
wp-clientarea/
├── vip-client-area.php # Main plugin file (entry point)
├── includes/
│ ├── class-db.php # DB schema + helper queries (281 lines)
│ ├── class-api.php # REST API controller (2,354 lines, 25 endpoints)
│ ├── class-admin.php # WordPress admin pages (1,466 lines)
│ ├── class-frontend.php # Shortcode handler + SPA integration
│ └── class-i18n.php # Translation loader
├── assets/
│ ├── js/app.js # Vanilla JS SPA (2,930 lines)
│ ├── css/app.css # SPA stylesheet (1,356 lines)
│ └── admin.css # Admin page styles
├── templates/ # (reserved for future server-rendered templates)
└── languages/ # Translation files
REST API Endpoints
All under /wp-json/vip/v1/:
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /auth/login |
Public | Login with email/password |
| GET | /auth/me |
Bearer | Current user info |
| GET | /deals |
Bearer | List deals (search, filter) |
| POST | /deals |
Admin | Create deal |
| GET | /deals/{id} |
Bearer | Single deal detail |
| GET | /deals/{id}/files |
Bearer | List files for deal |
| POST | /deals/{id}/files |
Bearer | Upload file |
| DELETE | /files/{id} |
Bearer | Delete file |
| GET | /files/{id}/download |
Bearer | Stream file download |
| GET | /deals/{id}/access |
Bearer | List access users |
| POST | /deals/{id}/access |
Admin | Grant access |
| DELETE | /deals/{id}/access/{uid} |
Admin | Remove access |
| GET | /deals/{id}/tasks |
Bearer | List tasks |
| POST | /deals/{id}/tasks |
Bearer | Create task |
| PATCH | /tasks/{id} |
Bearer | Update task |
| PATCH | /deals/{id}/tasks/reorder |
Admin | Bulk reorder |
| DELETE | /tasks/{id} |
Bearer | Delete task |
| GET | /tasks/{id}/comments |
Bearer | List comments |
| POST | /tasks/{id}/comments |
Bearer | Create comment |
| DELETE | /comments/{id} |
Bearer | Delete comment |
| GET | /tasks/{id}/files |
Bearer | List attached files |
| POST | /tasks/{id}/files |
Bearer | Attach file to task |
| DELETE | /tasks/{id}/files/{fid} |
Bearer | Detach file |
| GET | /notifications |
Bearer | List notifications |
| PATCH | /notifications/{id}/read |
Bearer | Mark read |
| POST | /notifications/read-all |
Bearer | Mark all read |
| GET | /notifications/unread-count |
Bearer | Unread count |
| GET | /users |
Admin | List users |
| POST | /users |
Admin | Create user |
Installation
- Copy the
wp-clientareafolder to/wp-content/plugins/ - Activate "VIP Client Area" from WordPress admin → Plugins
- Custom DB tables are created on activation
- Add
[vip_client_area]shortcode to any page to render the client area
Shortcode
[vip_client_area] — Renders the full SPA (login, dashboard, deal detail with files + Kanban).
Requirements
- WordPress 5.8+
- PHP 8.0+
- MySQL 5.7+ / MariaDB 10.3+
Credits
Built from the VIP Service China File Cloud SPA (React + PHP), ported to a WordPress plugin architecture.