Commit Graph

  • 08afafe6bd Make Petrol/Diesel pills equal width, drop the Petrol icon main v0.1.7 Ovidiu U 2026-06-12 12:01:12 +01:00
  • 685a84e159 Surface Petrol/Diesel as quick pills in the results filter bar Ovidiu U 2026-06-12 11:55:04 +01:00
  • 4c0017cb91 Add design spec for inline Petrol/Diesel quick pills Ovidiu U 2026-06-12 11:28:26 +01:00
  • 347a71154b Fix deploy.sh skipping SPA build on same-ref/aborted deploys Ovidiu U 2026-06-12 10:41:47 +01:00
  • 61adc133aa Add pricing-page waitlist (name + email signup) v0.1.6 Ovidiu U 2026-06-12 10:27:25 +01:00
  • e7d19488fd Add design spec for pricing-page waitlist Ovidiu U 2026-06-12 09:53:19 +01:00
  • fdcf253ca7 Skip placeholder-coordinate postcodes (lat >= 90) in ONSPD import v0.1.5 Ovidiu U 2026-06-12 09:26:56 +01:00
  • cf373a85f9 Add deploy.sh for repeatable VPS deploys v0.1.4 Ovidiu U 2026-06-12 09:13:35 +01:00
  • ea22387c9d Reverse-geocode a general area label for logged searches v0.1.3 Ovidiu U 2026-06-12 09:05:03 +01:00
  • 040b2f627e Fix ICO no. Ovidiu U 2026-06-12 08:37:37 +01:00
  • 5ca7232029 Replace Laravel favicon with beer mug icon and regenerate touch/favicon assets v0.1.2 Ovidiu U 2026-06-11 14:05:51 +01:00
  • da0db012a0 Drop duplicate 'logout' route name so route:cache works v0.1.1 Ovidiu U 2026-06-11 13:34:32 +01:00
  • 5a6967dc01 Guard HandleStripeWebhook plan-cache bust against non-taggable cache stores v0.1.0 Ovidiu U 2026-06-11 10:56:48 +01:00
  • 257c09d178 VPS deploy instructions Ovidiu U 2026-06-11 10:10:48 +01:00
  • f14006dc28 Cleanup Ovidiu U 2026-06-11 09:41:03 +01:00
  • 8fe3461adf Update legal pages with ICO registration, query logging, push notifications, and automated recommendations disclosure pricing-lock Ovidiu U 2026-06-10 13:15:43 +01:00
  • ad2230728c Disable Daily and Smart pricing CTAs until features ship Ovidiu U 2026-06-10 13:15:16 +01:00
  • 5bd909d227 Show site footer on dashboard pages and trim footer links Ovidiu U 2026-06-10 12:40:51 +01:00
  • a841a7c900 Add dedicated /pricing page and lock launch tiers to Free/Daily/Smart Ovidiu U 2026-06-10 12:22:19 +01:00
  • adf0b93a45 Coarsen GPS coordinates to 3 dp before API/URL and deduplicate runSearch triggers Ovidiu U 2026-06-10 11:08:55 +01:00
  • 1ae2f1396d Update legal pages with contact details, location handling, and alert channels Ovidiu U 2026-06-10 10:55:54 +01:00
  • df4ebdb7c6 Remove Livewire docs, add Vue SPA frontend docs, document log-masking runbook Ovidiu U 2026-06-10 10:55:34 +01:00
  • 7a8bd5c86a Remove placeholders and finalize contact details for launch Ovidiu U 2026-06-10 10:07:02 +01:00
  • ecd45588e9 Add legal policy pages and shared layout component Ovidiu U 2026-05-14 17:43:53 +01:00
  • 598ef04645 Rebrand from "Fuel Price" to "Fuel Alert" and update project metadata Ovidiu U 2026-05-14 14:30:02 +01:00
  • 07e0789044 fix(forecasting): persist LLM overlay under Tier-1 ITPM via two-call architecture Ovidiu U 2026-05-14 14:22:42 +01:00
  • 97e27fc057 feat(ui): mobile-first redesign — compact hero, inline submit button, map-first with collapsible list Ovidiu U 2026-05-14 13:23:52 +01:00
  • 11a3b433ff feat(ui): consolidate map filters and rework station selection Ovidiu U 2026-05-05 12:16:13 +01:00
  • 8dad223d06 feat(admin): add Filament resources for the forecasting stack Ovidiu U 2026-05-03 09:13:05 +01:00
  • 1c46667f56 feat(api-logs): persist response body on failed external calls Ovidiu U 2026-05-03 08:51:18 +01:00
  • 203200acb9 chore: retire legacy oil prediction pipeline Ovidiu U 2026-05-03 08:40:28 +01:00
  • ddd591ad47 feat(forecasting): build calibrated weekly forecast stack with LLM overlay and volatility detector Ovidiu U 2026-05-03 08:40:05 +01:00
  • d13a29df01 docs: amend prediction rebuild spec with implementation defaults and changelog v3 Ovidiu U 2026-05-03 08:39:26 +01:00
  • c2c237a1b3 chore: stop tracking .DS_Store Ovidiu U 2026-05-03 08:39:16 +01:00
  • 25cf022964 feat: add prediction rebuild design spec — Layer 1 ridge model, LLM news overlay, volatility regime detector Ovidiu U 2026-05-01 13:23:10 +01:00
  • e821a934a5 feat: add weekly_pump_prices migration for BEIS fuel price data Ovidiu U 2026-05-01 13:22:50 +01:00
  • 73de53994f fix: prevent sensitive field leaks in /me, add retry logic to Brent price sources Ovidiu U 2026-05-01 13:22:36 +01:00
  • df70e514e9 refactor: add hard-stop documentation and deny-list for destructive DB commands Ovidiu U 2026-04-30 09:01:20 +01:00
  • 28061541d4 refactor: remove auto-scroll on stations loading Ovidiu U 2026-04-30 09:01:11 +01:00
  • 895d55439b refactor: extract StationSearchService Ovidiu U 2026-04-30 08:20:23 +01:00
  • aff6dd1e0f refactor: SendScheduledWhatsAppJob — drop redundant filtering Ovidiu U 2026-04-29 20:21:30 +01:00
  • 06f5f2035f refactor: extract iterateBatches helper in FuelPriceService Ovidiu U 2026-04-29 20:21:21 +01:00
  • 69eb524e07 fix: ImportPostcodes streams into staging, swaps on success Ovidiu U 2026-04-29 20:21:15 +01:00
  • b4ef1177b2 refactor: PollFuelPricesJob calls service directly Ovidiu U 2026-04-29 20:21:05 +01:00
  • 8e29980dfe perf: memoize PriceReliability + PriceClassification per row Ovidiu U 2026-04-29 20:20:59 +01:00
  • 4ce5066596 refactor: persist EWMA only on LLM failure, dedup EWMA helper Ovidiu U 2026-04-29 20:04:41 +01:00
  • c46b017b51 chore: audit nits — PlanFeatures, test boot, EIA log, static method Ovidiu U 2026-04-29 20:00:09 +01:00
  • 7f64c42a23 refactor: extract DbDialect helper, inline ProfileValidationRules trait Ovidiu U 2026-04-29 20:00:01 +01:00
  • 4d9df1ee19 chore: add OneSignal and Vonage env keys to .env.example Ovidiu U 2026-04-29 19:48:21 +01:00
  • 5369b4a5a0 feat: build FuelPriceAlert notification with multi-channel adapters Ovidiu U 2026-04-29 19:48:10 +01:00
  • 27c82ef103 refactor: extract 6 prediction signals into Signal classes Ovidiu U 2026-04-29 19:43:28 +01:00
  • e39618f5df refactor: extract AbstractLlmPredictionProvider for shared boilerplate Ovidiu U 2026-04-29 19:35:57 +01:00
  • 00d0f7c8ec refactor: extract HaversineQuery helper, fix LL bind quirk Ovidiu U 2026-04-29 19:33:07 +01:00
  • 48af2083f3 feat: add fuel:archive command and monthly scheduler entry Ovidiu U 2026-04-29 18:33:05 +01:00
  • 783297694c fix: model audit cleanups (primaryKey, fuel_type cast, cadence cache) Ovidiu U 2026-04-29 18:32:55 +01:00
  • 775e076bb7 Add current_period tracking to subscriptions, document prediction engine, and refactor station list UI Ovidiu U 2026-04-29 18:14:03 +01:00
  • 8695d5ec95 refactor: flatten plans.features JSON to typed columns Ovidiu U 2026-04-29 18:13:26 +01:00
  • 088fd11058 Remove prediction API endpoint and integrate into stations search Ovidiu U 2026-04-29 13:28:33 +01:00
  • ee6de23709 feat: gate full prediction by ai_predictions feature flag Ovidiu U 2026-04-29 09:29:29 +01:00
  • 2ff3aeba4d fix: admin tier assignment when stripe price env vars are empty Ovidiu U 2026-04-29 09:29:21 +01:00
  • b8adb81c79 chore: gitignore ONSPD source CSV Ovidiu U 2026-04-29 09:29:07 +01:00
  • 3224b186b2 Merge branch 'feat/stripe-lifecycle' Ovidiu U 2026-04-23 12:00:19 +01:00
  • 36444cde05 feat: add past-due payment banner to dashboard Ovidiu U 2026-04-23 10:59:51 +01:00
  • b7175169f0 feat: handle invoice.payment_failed — set grace period and queue reminders Ovidiu U 2026-04-23 10:56:26 +01:00
  • 5b17f4cae4 feat: add SendPaymentFailedReminderJob with grace guard Ovidiu U 2026-04-23 10:51:13 +01:00
  • c127cc379e feat: add day-5 branded payment-failure reminder mailable Ovidiu U 2026-04-23 10:48:22 +01:00
  • de2499636f feat: add day-3 branded payment-failure reminder mailable Ovidiu U 2026-04-23 10:44:37 +01:00
  • 2078c4b83e feat: clear grace period on invoice.payment_succeeded Ovidiu U 2026-04-23 10:37:50 +01:00
  • b9d457578c feat: fold subscription deletion handling into HandleStripeWebhook Ovidiu U 2026-04-23 10:34:05 +01:00
  • 25b79f095b feat: bust plan cache on customer.subscription.updated Ovidiu U 2026-04-23 10:31:07 +01:00
  • a39d4b1b94 feat: consolidate stripe webhook handling into HandleStripeWebhook listener Ovidiu U 2026-04-23 10:27:23 +01:00
  • f1c1a1c572 feat: add grace_period_until to users table Ovidiu U 2026-04-23 10:23:27 +01:00
  • bf013926c0 docs: add stripe subscription lifecycle spec + implementation plan Ovidiu U 2026-04-23 10:05:50 +01:00
  • 19fc61a0a3 feat: accept ArcGIS ONSPD column aliases (PCD7/PCD8/PCDS) in postcodes:import Ovidiu U 2026-04-22 13:31:27 +01:00
  • 13fc227619 docs: link ONSPD attribution to source dataset page Ovidiu U 2026-04-22 13:28:39 +01:00
  • d8f87f964d Merge branch 'feat/self-hosted-postcodes' Ovidiu U 2026-04-22 13:19:39 +01:00
  • 975a1522cf docs: plan for self-hosted UK postcodes Ovidiu U 2026-04-22 13:19:33 +01:00
  • 29ba2f3d86 docs: add ONS/Royal Mail/OS attribution required by OGL v3 Ovidiu U 2026-04-22 12:39:11 +01:00
  • 3ec7cda790 feat: derive outcode centroids from postcodes during import Ovidiu U 2026-04-22 12:36:39 +01:00
  • d01a634f0b test: cover terminated + blank-coord skip paths for postcodes:import Ovidiu U 2026-04-22 12:34:19 +01:00
  • 9ad62538b9 fix: harden postcodes:import against duplicate headers and test collisions Ovidiu U 2026-04-22 12:33:10 +01:00
  • 4a60298606 feat: add postcodes:import command for loading ONSPD CSV Ovidiu U 2026-04-22 12:28:08 +01:00
  • 5426722c71 refactor: scope postcode cache to place names, DB is authoritative for postcodes Ovidiu U 2026-04-22 12:23:50 +01:00
  • d460de1850 fix: guard malformed postcodes.io responses and isolate persist errors from HTTP success Ovidiu U 2026-04-22 12:22:15 +01:00
  • 45bf1c0d24 feat: persist postcodes.io fallback results into local DB Ovidiu U 2026-04-22 12:18:20 +01:00
  • 1e3b246172 feat: resolve outcodes from local DB before HTTP Ovidiu U 2026-04-22 12:13:52 +01:00
  • 9fa9ea7835 feat: resolve full postcodes from local DB before HTTP Ovidiu U 2026-04-22 12:09:19 +01:00
  • 55c81fab7b style: align Postcode/Outcode models with house Fillable+casts convention Ovidiu U 2026-04-22 12:07:23 +01:00
  • 64a7cc3de5 feat: add Postcode and Outcode Eloquent models Ovidiu U 2026-04-22 12:04:39 +01:00
  • 7c114c72e4 style: add void return type to postcodes migration closures Ovidiu U 2026-04-22 12:03:51 +01:00
  • 2fe9c3ef77 feat: add postcodes and outcodes tables for self-hosted lookup Ovidiu U 2026-04-22 12:00:53 +01:00
  • b4bd78ab4c Rename SearchBar to PostSearchFilters, add sort controls and brand filter, relocate station count display Ovidiu U 2026-04-22 11:50:59 +01:00
  • 8335f49fd6 Redesign station cards with compact layout, improved typography, and expandable details Ovidiu U 2026-04-22 11:23:05 +01:00
  • dd9bd95657 Redesign search UI with unified input, expandable filters, and integrated map controls Ovidiu U 2026-04-22 09:38:23 +01:00
  • afe459f248 Lazy-load dashboard and settings views to reduce initial bundle size Ovidiu U 2026-04-20 20:38:04 +01:00
  • d822b77fb0 feat: redesign homepage with responsive hero, verdict card preview, and modular landing components Ovidiu U 2026-04-20 20:27:02 +01:00
  • 831637380c feat: expand station cards with detailed information and add live statistics endpoint Ovidiu U 2026-04-20 18:58:13 +01:00
  • c2466e5a61 feat(tiers): add display-name layer, push.frequency entitlement, and rename pricing cards Ovidiu U 2026-04-20 18:57:24 +01:00
  • 7dc41ba9ee feat: add location-based search, redesign station cards, and implement URL state management Ovidiu U 2026-04-20 15:51:02 +01:00
  • d29f3e6487 Add tier feature design spec, annual billing, fuel type normalization, and admin subscription management Ovidiu U 2026-04-20 14:13:03 +01:00