2.9 KiB
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.phpapi/emojis.phpapi/emoji.php
- Helpers:
helpers/auth.phphelpers/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.jsonpanel.js,panel.html,styles.cssbackground.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/emojisGET /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-apiHTML/JS pages.
4) Important mismatches and risks
- Query param mismatch in backend list endpoint:
api/emojis.phpreadsquery.- Docs/client examples often send
q.
- Backend license validators are stubs:
isValidGumroad()andisValidMayar()returnfalse.- Tier in this PHP backend effectively falls back to free.
- Contract split:
- Backend folder exposes
/api/*. - Extension expects
/v1/*onapi.dewemoji.com.
- Website source-of-truth gap:
dewemoji-siteis currently empty scaffold, so active website behavior is still indewemoji-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