f1a46c79f2
Introduce a shared pricing and entitlement model so plan metadata can drive public pricing and future subscription enforcement. Rebrand the product to LocaleScope and align the UI copy around market intelligence and business research workflows.
84 lines
5.8 KiB
Markdown
84 lines
5.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- Added an authenticated `Account` page with editable profile settings, workspace details, usage summaries, and placeholders for upcoming billing and team management.
|
|
- Added workspace and workspace-membership schema foundations plus new account API endpoints so each user now has a default personal workspace for future company, billing, and team features.
|
|
- Added a shared billing catalog, entitlement policy helpers, and feature-gate logic for Starter, Growth, Pro, and Enterprise packaging so pricing and future subscription enforcement can share one source of truth.
|
|
|
|
### Changed
|
|
- Normalized the product UI around shared design primitives for buttons, cards, alerts, tabs, and page shells to keep public, auth, research, results, dashboard, map, and account surfaces visually aligned.
|
|
- Refined the authenticated app for mobile with a phone-friendly top bar, bottom tab navigation, shorter inline research maps, touch-friendlier map gestures, and a mobile lead-card presentation in the dashboard while preserving desktop layouts.
|
|
- Rebranded public, auth, worker, and supporting documentation copy from `Leads4less` to `LocaleScope` and repositioned the product around local market intelligence and territory research.
|
|
- Reworked the public pricing section and account billing placeholder to read from shared plan metadata, laying groundwork for future subscription, usage, and upgrade controls.
|
|
- Updated dashboard, map, and results copy to describe saved businesses and research outputs instead of lead-focused terminology.
|
|
|
|
## [2026-05-01]
|
|
|
|
### Added
|
|
- Added a multi-stage `Dockerfile` and `docker-compose.yml` for running the web app, API, worker, and PostGIS database as a local container stack.
|
|
|
|
### Changed
|
|
- Updated the Docker Compose deployment config to read app secrets and Vite build settings from environment variables, and added a `.dockerignore` to keep container builds leaner.
|
|
- Aligned the Docker Compose and example environment settings so local and deployment configs use the same variable names and document URL-encoded database passwords when needed.
|
|
- Simplified container deployment by adding a dedicated migration image and Compose startup ordering so the database becomes healthy, migrations run automatically, and the API, worker, and web services start afterward.
|
|
- Published the Docker web and API services to host ports so local Compose runs are reachable directly from the browser with configurable `WEB_PORT` and `APP_PORT` values.
|
|
|
|
### Fixed
|
|
- Fixed the Docker startup flow by passing required env validation into the migration container, bundling SQL migrations into the runtime image, and creating pg-boss queues before the worker starts consuming them.
|
|
|
|
## [2026-04-19]
|
|
|
|
### Added
|
|
- Added separate `Research` and `Results` workspaces so new runs and saved run browsing live in distinct flows while preserving bundled map selection.
|
|
- Added dedicated Basic and Deep Research results views, plus a public landing page and dedicated auth route for the unauthenticated experience.
|
|
|
|
### Changed
|
|
- Made Basic research map-first by requiring a dropped pin or current location, sending coordinate-based searches through the API, and cleaning up shared map presentation.
|
|
- Simplified shared Google Maps rendering by moving Basic, Deep Research, and result review maps onto the same cleaner visual style.
|
|
|
|
### Fixed
|
|
- Fixed local logout behavior so the session cookie is cleared consistently and optional session-id logout requests can remove the active server session record.
|
|
|
|
## [2026-04-12]
|
|
|
|
### Changed
|
|
- Improved local development networking by making API env loading work with `.env.local`, adding LAN-friendly API URL fallback behavior, and fixing development CORS handling.
|
|
- Fixed local research inserts so nullable Google Places coordinates no longer break business upserts.
|
|
- Improved postal data tooling with streaming imports, clearer CRS validation, progress logs, and a status command for checking imported areas and adjacency counts.
|
|
|
|
### Added
|
|
- Added postal-area import and adjacency build scripts for US ZIP/ZCTA and Canada FSA datasets.
|
|
- Added a dedicated `Deep Research` view with map pin placement, propagation preview overlays, batch history, and bundled map navigation.
|
|
- Added backend deep-research preview, batch creation, and batch detail APIs, reusing the existing research engine to create one child search per postal area.
|
|
|
|
### Removed
|
|
- Removed stale local metadata, placeholder postal seeding code, and leftover Supabase-era repository artifacts.
|
|
|
|
## [2026-03-27]
|
|
|
|
### Changed
|
|
- Migrated the app from a Supabase runtime to a local Fastify API with PostgreSQL, PostGIS, and cookie-based session auth.
|
|
- Reworked the research experience with the `Leads4less` branding, the renamed `Research` view, a top-form layout, and a filterable grid of research jobs.
|
|
- Added local API wiring for research, dashboard, and map flows while keeping selected-job map behavior and broader lead retrieval support.
|
|
|
|
### Added
|
|
- Added local backend scaffolding under `server/` for auth, health checks, search routes, database access, and worker startup.
|
|
- Added local database migrations and scripts under `db/`, including the first PostGIS-enabled schema and migration runner.
|
|
- Added shared app types and frontend API/auth helpers for the local stack.
|
|
|
|
### Removed
|
|
- Removed the Supabase browser client, Edge Function runtime, and Supabase migration artifacts from the active app stack.
|
|
|
|
## [2026-03-26]
|
|
|
|
### Added
|
|
- Initial Leads4Less app with React and Vite.
|
|
- Supabase-backed authentication, lead storage, and search job persistence.
|
|
- Research, dashboard, and map views for running searches, browsing leads, and visualizing results on Google Maps.
|