Files
dewemoji/legacy-system-audit.md
2026-02-03 21:58:14 +07:00

2.9 KiB

Legacy System Audit (Retraced)

Scope used for this audit

  • ../dewemoji-api (backend)
  • ../dewemoji-chrome-ext (chrome extension)
  • ../dewemoji-site (website)

1) Current reality by folder

A) dewemoji-api (backend, currently functional)

  • Contains working API routes and working web pages (index.html, api-docs.html).
  • API files:
    • api/index.php
    • api/emojis.php
    • api/emoji.php
  • Helpers:
    • helpers/auth.php
    • helpers/filters.php
  • Data pipeline:
    • tools/build-emojis.js
    • data in data/*.json
  • Apache rewrite and security rules in .htaccess.

B) dewemoji-chrome-ext (active extension)

  • Manifest V3 extension with side panel UI.
  • Main files:
    • manifest.json
    • panel.js, panel.html, styles.css
    • background.js, content.js
  • Uses remote API https://api.dewemoji.com/v1.

C) dewemoji-site (website repo, currently scaffold)

  • Folder exists with expected site structure (index.php, api-docs.php, assets/, data/, helpers/, etc.).
  • Almost all files are currently empty (0 bytes).
  • Current state indicates scaffold/template placeholder, not active website logic.

2) Dataset snapshot (from dewemoji-api)

  • Source: ../dewemoji-api/data/emojis.json
  • Emojis: 1910
  • Categories: 10 (Activities, Animals & Nature, Component, Flags, Food & Drink, Objects, People & Body, Smileys & Emotion, Symbols, Travel & Places)
  • Subcategories: 99

3) Feature inventory

Backend/API (implemented in dewemoji-api)

  • Public read API with pagination/filtering.
  • GET /api/emojis
  • GET /api/emoji/{slug}
  • GET /api/categories
  • CORS enabled for GET/OPTIONS.
  • IP rate limit in router (60 requests / 60 seconds).
  • ETag and cache headers.

Chrome extension (implemented in dewemoji-chrome-ext)

  • Search, category/subcategory filters.
  • Free/Pro mode UX.
  • License activation check flow.
  • Copy / insert / auto mode.
  • Skin tone preference + lock.
  • Side panel and keyboard toggle command.
  • Client cache + daily free usage tracking.

Website (dewemoji-site)

  • Not implemented yet (empty files).
  • Current working website behavior still lives in dewemoji-api HTML/JS pages.

4) Important mismatches and risks

  1. Query param mismatch in backend list endpoint:
  • api/emojis.php reads query.
  • Docs/client examples often send q.
  1. Backend license validators are stubs:
  • isValidGumroad() and isValidMayar() return false.
  • Tier in this PHP backend effectively falls back to free.
  1. Contract split:
  • Backend folder exposes /api/*.
  • Extension expects /v1/* on api.dewemoji.com.
  1. Website source-of-truth gap:
  • dewemoji-site is currently empty scaffold, so active website behavior is still in dewemoji-api.

5) Folder health snapshot

  • dewemoji-api: 20 files, 20 non-empty (~4.3 MB)
  • dewemoji-chrome-ext: 13 files, 13 non-empty (~135 KB)
  • dewemoji-site: 40 files, 1 non-empty (.gitignore), rest empty scaffold