2.7 KiB
2.7 KiB
NativePHP Rebuild Progress (Retraced)
Confirmed source folders
- Backend:
../dewemoji-api - Chrome extension:
../dewemoji-chrome-ext - Website:
../dewemoji-site(currently scaffold/empty)
Current baseline
- Active backend logic exists in
dewemoji-api. - Active extension logic exists in
dewemoji-chrome-ext. dewemoji-sitecurrently has structure but no implemented content (mostly 0-byte files).- New rebuild app scaffold now exists at
app/(Laravel + NativePHP Desktop installed).
Phase checklist
Phase 0 - Retrace and documentation
- Revalidated source folders with corrected names.
- Rebuilt docs against corrected folders.
- Marked
dewemoji-siteas scaffold status.
Phase 1 - Foundation
- Initialize NativePHP app in
dewemoji(app/folder). - Install NativePHP Desktop scaffolding (
config/nativephp.php,NativeAppServiceProvider). - Define initial env/config strategy (documented in
phase-1-foundation.md). - Decide canonical data source: start from
dewemoji-api/data/emojis.json.
Phase 2 - API parity (extension first)
- Implement
GET /v1/emojis. - Implement
GET /v1/categories. - Implement
POST /v1/license/verify. - Preserve response/header compatibility (
X-Dewemoji-Tier). - Support both
qandqueryinputs.
Phase 3 - Website rebuild
- Build website pages in new app (index, emoji detail, api docs, legal pages).
- Replace scaffold in
dewemoji-sitevia new NativePHP output.
Phase 4 - Extension integration
- Point
dewemoji-chrome-extAPI base to new app endpoint. - Validate free/pro flow, insert mode, and tone behavior.
Phase 5 - Quality and release
- Add endpoint tests + regression checks for extension-critical fields.
- Add migration and rollback checklist.
Critical risks to address early
- Backend mismatch:
qvsquery. - Backend tier validation stubs in legacy PHP.
- Contract differences between current
/api/*and extension/v1/*. - Website source currently split (
dewemoji-apiactive pages vsdewemoji-siteempty scaffold).
Implementation notes (Phase 2)
- Routes are now available at
/v1/*(no/apiprefix) for extension compatibility. - License verification is currently environment-driven (
DEWEMOJI_LICENSE_ACCEPT_ALL/DEWEMOJI_PRO_KEYS) as a safe stub before real provider integration. - Test coverage added for
v1endpoints inapp/tests/Feature/ApiV1EndpointsTest.php.
Implementation notes (Phase 3)
- Added website routes/pages in Laravel app:
/,/emoji/{slug},/api-docs,/pricing,/privacy,/terms
- Home page now consumes
/v1/categoriesand/v1/emojisdirectly. - Added page tests in
app/tests/Feature/SitePagesTest.php.