Feature Status
Complete status of every feature across the AYTS platform.
Last updated: May 21, 2026
Legend
| Symbol | Meaning |
|---|---|
| ✅ | Done — confirmed working |
| ⚠️ | Partial — exists but needs config, testing, or minor fix |
| ❌ | Missing — needs to be built |
Authentication
| Feature | Status | Notes |
|---|---|---|
| Customer registration | ✅ | Pre-confirmed, no email verification |
| Login | ✅ | JWT returned |
| Forgot / reset password | ✅ | Supabase email flow |
| Refresh token | ✅ | 7-day refresh |
| Rate limiting (auth) | ✅ | 10 req / 15 min |
| Ban / deactivate check | ✅ | 403 on login if banned |
| Admin role verification | ✅ | Middleware checks Supabase metadata |
Storefront Pages
| Page | Status | Notes |
|---|---|---|
| Home / Landing | ✅ | Real stores, sorted by rating |
| Browse Stores | ✅ | Filters, pagination working |
| Store Detail | ✅ | ISR, OG meta, add to cart |
| Product Detail | ✅ | ISR, OG meta, reviews, rich text description |
| Search + Autocomplete | ✅ | FTS via PostgreSQL |
| Cart | ✅ | Multi-item, store grouped |
| Checkout (COD) | ✅ | End-to-end working |
| Checkout (GCash/Maya) | ❌ | API ready, FE selector missing |
| Payment status page | ❌ | Post-PayMongo redirect page missing |
| Orders list | ✅ | Full history |
| Order detail | ✅ | Timeline, items, payment info |
| Real-time order tracking | ✅ | SSE stream |
| Login / Register | ✅ | Working |
| Profile | ✅ | Update + avatar |
| Vendor onboarding | ✅ | Multi-step form |
| Services browse | ✅ | List + search |
| Service detail | ✅ | Rich text description, booking widget, calendar |
| Service bookings (customer) | ✅ | View + leave review |
| Rentals browse | ✅ | List + filters |
| Rental detail | ✅ | Rich text description, range calendar, booking |
| Rental bookings (customer) | ✅ | View history |
| Errands (Pasugo) | ✅ | Submit + track |
| About page | ⚠️ | Exists, content needs review |
| Privacy policy | ✅ | Full content |
| Terms of service | ✅ | Full content |
| Footer component | ❌ | Missing — only plain text |
| Contact / FAQ page | ❌ | Recommended to add |
Admin Panel
| Page | Status | Notes |
|---|---|---|
| Dashboard | ✅ | Real data |
| Analytics | ✅ | Charts working |
| Store management | ✅ | Verify + Activate |
| Store detail | ✅ | |
| Product management | ✅ | |
| Product rich text description | ✅ | Tiptap editor (bold, lists, headings, links) |
| Quick product add | ✅ | |
| Order management | ✅ | |
| Order status update | ✅ | |
| Refund UI | ❌ | API exists, no UI |
| Users management | ✅ | |
| Vendor applications | ❌ | API exists, page not built |
| Riders management | ✅ | |
| Rider dashboard | ✅ | |
| Services management | ✅ | Create, edit, toggle active |
| Service rich text description | ✅ | Tiptap editor |
| Service bookings (admin) | ✅ | View, confirm, complete, before/after photos |
| Before / after photo upload | ✅ | Vendor uploads photos on in-progress/completed bookings |
| Rental listings (admin) | ✅ | Create, edit |
| Rental bookings (admin) | ✅ | View, confirm, handover, return, complete |
| Errands (Pasugo) admin | ✅ | View, update status |
| Quotes admin | ✅ | View, respond |
| Vendor agreements | ✅ | Create, manage, link to rental listings |
| SMM / Social Media | ✅ | Draft queue, approve, delete, config — see SMM doc |
| Settings page (load/save) | ❌ | API returns 404 |
Vendor Panel
| Feature | Status | Notes |
|---|---|---|
| Dashboard | ✅ | Revenue, orders, stats |
| Store management | ✅ | Edit details, payment settings |
| Product management | ✅ | Create, edit, rich text, images, stock |
| Product rich text description | ✅ | Tiptap editor |
| Stock management | ✅ | Adjust, restock, write-off |
| Order management | ✅ | Confirm, prepare, complete |
| Service listings | ✅ | Create, edit, rich text, photos, pricing modes |
| Service bookings | ✅ | View, confirm, start, complete, photos, reviews |
| Before/after photo upload | ✅ | Upload during in-progress or completed bookings |
| Rental listings | ✅ | Create, edit, images, categories |
| Rental bookings | ✅ | Confirm, handover, return, complete |
| Vendor schedule | ✅ | Weekly availability + blocked dates |
| Vendor calendar | ✅ | Monthly view of bookings |
| Vendor public profile | ✅ | Bio, portfolio, social links |
| Vendor agreements | ✅ | Draft, publish agreements for rentals |
| Subscription info | ✅ | View current plan |
| Quote management | ✅ | Respond to quote requests |
| Sales summary | ✅ | Revenue by period |
API Endpoints
| Group | Status | Notes |
|---|---|---|
| Auth (register/login/reset) | ✅ | |
| Users CRUD | ✅ | |
| Stores CRUD | ✅ | |
| Products CRUD | ✅ | |
| Orders (create/update/stream) | ✅ | |
| Payments (COD/GCash/Maya) | ✅ | |
| PayMongo webhooks | ✅ | HMAC verified |
| Reviews | ✅ | Guest booking reviews fixed (email match fallback) |
| Notifications (push) | ✅ | |
| Email notifications | ❌ | email.ts exists, not wired |
| SMS (Semaphore) | ⚠️ | Needs SEMAPHORE_API_KEY |
| Search + Autocomplete | ✅ | FTS indexes |
| File Upload (R2) | ✅ | |
| Admin dashboard/analytics | ✅ | |
| Admin store management | ✅ | |
| Admin applications | ✅ | API only — no UI |
| Admin settings | ❌ | Returns 404 |
| Riders API | ✅ | |
| Services API | ✅ | Listings, bookings, reviews, categories |
| Booking calendar | ✅ | Availability, slots, vendor schedule |
| Rentals API | ✅ | Listings, availability, bookings |
| Quotes API | ✅ | Submit, respond, fulfill |
| Pasugo (Errands) API | ✅ | Post, dispatch, track |
| Vendor agreements API | ✅ | CRUD + signature tracking |
| SMM API | ✅ | Posts queue, agent polling, config — needs SMM_API_KEY set |
| Before/after photo upload | ✅ | PATCH /api/services/vendor/bookings/:id/photos |
Infrastructure
| Item | Status | Notes |
|---|---|---|
| Cloudflare Workers (all 3 apps) | ✅ | Deployed |
| Supabase PostgreSQL | ✅ | Live |
| Cloudflare R2 storage | ⚠️ | Verify bucket exists in CF dashboard |
| GitHub Actions (FE + Admin) | ✅ | Auto-deploys on push to main |
| GitHub Actions (API) | ❌ | Manual deploy with wrangler |
| Production wrangler secrets | ⚠️ | Set PAYMONGO keys + SMM_API_KEY |
| Supabase PgBouncer | ⚠️ | Enable for production load |
| Supabase daily backups | ⚠️ | Enable in Supabase settings |
| Sentry error monitoring | ❌ | Not configured |
| Staging environment | ❌ | Not set up |
Pre-Launch Checklist
Critical (do before any customer uses the app)
- Delete test stores and users from Supabase
- Verify + Activate real stores in Admin → Stores
- Verify admin user has
role: 'admin'in Supabase metadata - Set PayMongo secrets via
wrangler secret put
SMM Setup (required before running the agent)
- Run
wrangler secret put SMM_API_KEY --env productionwith a known value and add it tosmm/.env - Delete the stray
ayts-productionCloudflare Worker created during key setup - Verify
smm/.envhasSMM_API_URL,SMM_API_KEY,FB_EMAIL, and all group URLs set - Run
npm run generate-draftsfromsmm/for the first time and approve a draft in the admin - Run
npm run pollfromsmm/and confirm the first post is executed successfully
Before public launch
- Build Admin Vendor Applications page
- Add GCash/Maya payment selector in checkout
- Add Footer component
- Wire email notifications for order events
- Implement Settings API endpoint
- Add Payment status page (post-redirect)
Recent Changes (May 2026)
| Date | Change |
|---|---|
| May 21 | Rich text editor (Tiptap) on product, service, and rental description fields |
| May 21 | Storefront renders rich HTML descriptions for products, services, and rentals |
| May 21 | SMM admin page + API + agent poller + generate-drafts script |
| May 21 | Before/after photo upload on service bookings (vendor panel + API) |
| May 21 | Guest booking review fix — email match fallback for null user_id |
| May 21 | Review button correctly hides after submission (added service_reviews to bookings query) |