Commit Graph

  • f0e0b82375 Fix service worker serving the homepage when clicking a job/applicant card main soroush.asadi 2026-06-26 20:03:37 +03:30
  • 923a3fb90e Stop the CDN serving a stale homepage (archived listings showing as live cards) soroush.asadi 2026-06-26 03:41:09 +03:30
  • aaeb37e1af Make dedupe stricter to avoid wrongly archiving distinct placeholder-facility ads soroush.asadi 2026-06-26 03:26:25 +03:30
  • a97c556770 Show two rows of applicants on the homepage soroush.asadi 2026-06-23 23:05:41 +03:30
  • 5fcdb8599f Add pagination to the Jobs / Shifts / Talent list pages soroush.asadi 2026-06-23 19:27:41 +03:30
  • ccc5a954dd Fold secondary nav links into a «بیشتر» dropdown soroush.asadi 2026-06-23 19:05:29 +03:30
  • e3750b7d43 Declutter nav: browse items in the bar, personal items in the profile menu soroush.asadi 2026-06-23 19:00:02 +03:30
  • fce13aaeb0 Fix dark/low-contrast text on the homepage recommendations banner soroush.asadi 2026-06-23 18:51:16 +03:30
  • 9fc83b231b Show real exception details to admins on the error page (diagnostics) soroush.asadi 2026-06-23 15:14:20 +03:30
  • 2d4ea3a762 Fix «از X تا توافقی» salary display when only the minimum is known soroush.asadi 2026-06-23 13:40:23 +03:30
  • c1c914df9f Add per-user Like (پسندیدن) with a liked page and counts soroush.asadi 2026-06-23 12:25:10 +03:30
  • 39c866f4c7 Fix useless bare-divar.ir links + hide empty homepage shifts section soroush.asadi 2026-06-23 11:50:21 +03:30
  • fdeefb7625 Move recommendations to a dedicated page + consolidate preferences there soroush.asadi 2026-06-23 11:41:17 +03:30
  • 1f628d971e Default aggregated ads to Job, not Shift (stop fabricating shift dates/times) soroush.asadi 2026-06-23 07:08:47 +03:30
  • b3e7123d74 Extract Iranian salary shorthand (X تومان = millions) + pay backfill soroush.asadi 2026-06-22 17:21:32 +03:30
  • 219207ad68 SEO polish: facility structured data + trim homepage description soroush.asadi 2026-06-22 16:03:28 +03:30
  • 410fc86c60 Fix maps not rendering: Neshan SDK URL was a 404 soroush.asadi 2026-06-21 22:13:29 +03:30
  • b223d3af2d Collapse the sprawling role taxonomy (dedupe/compound/typo merge) soroush.asadi 2026-06-21 21:35:43 +03:30
  • 2b7ac96472 Fix cramped job cards on facility detail page soroush.asadi 2026-06-21 20:32:16 +03:30
  • 0334cac3dc Make source-link listings reachable + skip uncontactable applicants soroush.asadi 2026-06-21 20:28:04 +03:30
  • 98fc01be8e Reject filler/verb words as applicant names soroush.asadi 2026-06-21 20:20:07 +03:30
  • 33450a37ea Filter out home childcare / babysitter ads (not کادر درمان) soroush.asadi 2026-06-21 20:04:57 +03:30
  • 17da713a35 Stop job/shift role fan-out: one aggregated ad = one listing soroush.asadi 2026-06-21 19:47:19 +03:30
  • 92802d0da0 Show a Persian added-X-ago timestamp on listing cards soroush.asadi 2026-06-21 19:35:30 +03:30
  • c778b87e79 Capture the full Divar ad description, not just the search-row summary soroush.asadi 2026-06-21 19:04:30 +03:30
  • b1d0d0d4fd Fix empty hrefs on nav and homepage «مشاهده همه» links soroush.asadi 2026-06-21 18:54:59 +03:30
  • cdb58eeb86 Paginate the admin review queue (and flagged list) soroush.asadi 2026-06-21 18:42:36 +03:30
  • 7bbb4e385e Add in-place role-fix for existing «پزشک عمومی»-mislabeled listings soroush.asadi 2026-06-21 18:06:22 +03:30
  • fbf8deaa8c Generalize doctor-role correction: trust the keyword parser over the AI default soroush.asadi 2026-06-21 18:01:58 +03:30
  • d39546389e Correct dentist ads the AI labeled as general physician soroush.asadi 2026-06-21 17:59:24 +03:30
  • 5c04658faf Unify recommendations across shifts AND jobs soroush.asadi 2026-06-21 16:47:15 +03:30
  • 845d0c9013 Show job counts, not shifts-only, on public pages soroush.asadi 2026-06-21 16:21:50 +03:30
  • 3e65c88765 Strip generic facility descriptors so distinctive names dont false-merge soroush.asadi 2026-06-21 14:00:00 +03:30
  • 1c580e0f7a Fix role + contact mislabels seen on a live iranestekhdam ad soroush.asadi 2026-06-21 13:29:43 +03:30
  • b48e7dbc65 Auto-clean the board after every crawl (no manual cleanup clicks) soroush.asadi 2026-06-21 13:19:11 +03:30
  • bb8c6c3be5 Add medboom.ir as an ingestion source (doctor/dentist-heavy, VPN-free) soroush.asadi 2026-06-21 11:18:56 +03:30
  • 7740d9f8d7 iranestekhdam: restrict to Tehran for launch soroush.asadi 2026-06-21 09:56:25 +03:30
  • f118db55ef Add iranestekhdam.ir as an ingestion source (clinical job ads at named facilities) soroush.asadi 2026-06-21 07:39:39 +03:30
  • da55f82c6c Fix facility junk-fold: match the real placeholder by «نامشخص» marker soroush.asadi 2026-06-21 07:17:24 +03:30
  • 88eca92333 Facility data hygiene: merge duplicates, drop junk-named facilities soroush.asadi 2026-06-21 05:40:29 +03:30
  • 8be275596b Make the listing purge SEO-standard: archive (not delete) + 410 Gone soroush.asadi 2026-06-21 05:25:51 +03:30
  • e2011d335e Ingestion data-quality + map fixes: AI salary, geocode coverage, in-place backfill & purge soroush.asadi 2026-06-21 05:09:39 +03:30
  • a16a805869 Hide facility/location when it's the «نامشخص» placeholder — omit, don't print it soroush.asadi 2026-06-20 22:57:36 +03:30
  • baa617daa9 Strip «آماده به کار» from role names + reject domestic-helper ads soroush.asadi 2026-06-20 19:58:06 +03:30
  • 7e17e7ccb3 Stop leaking the shared placeholder facility's phone onto unrelated shifts/jobs soroush.asadi 2026-06-20 19:50:12 +03:30
  • f1a00cb955 Remove the call CTA from listing cards — contact only on the detail page soroush.asadi 2026-06-20 19:44:07 +03:30
  • cdca4ad264 Admin: role merge tool + usage list (taxonomy hygiene) soroush.asadi 2026-06-20 19:21:23 +03:30
  • 5e1b2ee979 ItemList JSON-LD on Jobs/Shifts list & landing pages soroush.asadi 2026-06-20 19:15:12 +03:30
  • 3edd21d2b6 Breadcrumbs: visible trail + BreadcrumbList JSON-LD soroush.asadi 2026-06-20 19:12:38 +03:30
  • 142136ebc9 Landing pages: unique intro paragraph (avoid thin content) soroush.asadi 2026-06-20 18:07:32 +03:30
  • 9bc3fdec79 Google for Jobs: only emit JobPosting JSON-LD for a real named employer soroush.asadi 2026-06-20 18:03:14 +03:30
  • a432fce858 Internal links to SEO landing pages (role quick-links on list pages) soroush.asadi 2026-06-20 17:59:01 +03:30
  • 8d0a403b36 Near-duplicate applicant detection (collapse source reposts) soroush.asadi 2026-06-20 17:54:26 +03:30
  • 21befd5b1e Display timestamps in Tehran time, not UTC soroush.asadi 2026-06-20 17:16:57 +03:30
  • fb7bfad9ce Reprocess: SEO-safe applicants-only default (don't churn indexed shift/job URLs) soroush.asadi 2026-06-20 16:08:20 +03:30
  • e582597b20 Geocoding fallback: use the registered AI model when the table can't resolve soroush.asadi 2026-06-20 15:48:42 +03:30
  • 85a5191c45 AI qualify round 2: strip gender/seniority from roles, aide synonyms, more tag noise soroush.asadi 2026-06-20 15:41:06 +03:30
  • 993c34758f Geocode neighborhood names to an approximate location (no source coords) soroush.asadi 2026-06-20 15:31:27 +03:30
  • 4ab6ce29c9 Approximate-location map on aggregated listings (Divar coords) soroush.asadi 2026-06-20 15:10:05 +03:30
  • 704b68be16 Search typeahead: show total found count in the dropdown soroush.asadi 2026-06-20 14:30:08 +03:30
  • d62929ca0d AI qualify: de-dupe applicants, base roles, closed categories, tag hygiene + reprocess-stored action soroush.asadi 2026-06-20 14:24:20 +03:30
  • 4c0b29addf Contact reveal modal: click phone/contact on cards and detail pages soroush.asadi 2026-06-20 09:04:08 +03:30
  • 0cf5b30dd8 SEO landing pages: dynamic role+city titles, pretty URLs, sitemap combos soroush.asadi 2026-06-19 14:03:57 +03:30
  • 38031cb189 Per-ad contacts for shifts/jobs, stale-applicant filter, review source link soroush.asadi 2026-06-10 21:28:12 +03:30
  • b71d8b362b Recommendation card: lead with the role, not the facility name soroush.asadi 2026-06-10 17:52:40 +03:30
  • 337b510540 Shift card: lead with the role, not the facility name soroush.asadi 2026-06-10 17:10:33 +03:30
  • efbf998caf Admin/Ingested: per-source breakdown (published vs total crawled) soroush.asadi 2026-06-10 08:46:01 +03:30
  • a03dcb1157 Divar geo-coords to facility map + medical gate + RawListing FK/geo migrations 2 soroush.asadi 2026-06-09 22:01:04 +03:30
  • 380243b669 Divar geo-coords to facility map + medical gate + RawListing FK/geo migrations soroush.asadi 2026-06-09 21:38:55 +03:30
  • cf5e0011c4 AI ingestion: dynamic role/category creation + tags, hardcoded read-only prompt soroush.asadi 2026-06-09 19:04:24 +03:30
  • 59fb30ac77 AI auditor: surface the real connection error instead of swallowing it soroush.asadi 2026-06-09 18:30:12 +03:30
  • 753a14286f Mobile hero search: compact magnify button + dropdown under the input soroush.asadi 2026-06-09 07:39:23 +03:30
  • 62e9bf1353 Nav: replace inline search box with a «🔎 جستجو» link to /Search soroush.asadi 2026-06-08 23:26:37 +03:30
  • c92744fb50 Mobile: smaller hero/heading typography so titles aren't oversized soroush.asadi 2026-06-08 23:21:32 +03:30
  • 69e2a12a3a Home hero search: polish mobile layout (stacked bordered input + full-width button) soroush.asadi 2026-06-08 23:14:25 +03:30
  • bcf90f2437 Home hero: replace filter dropdowns with a search-engine box (+ live typeahead) soroush.asadi 2026-06-08 22:34:31 +03:30
  • 6cf7c6b573 Typeahead: search descriptions + show highlighted body snippet (fixes empty mmt dropdown) soroush.asadi 2026-06-08 22:06:15 +03:30
  • 1e96526bd9 Review/publish: multi-select roles → one listing per role soroush.asadi 2026-06-08 22:03:09 +03:30
  • 5e5d7f80ef Admin queue: show fetched time (HH:mm) alongside date on review + ingested rows soroush.asadi 2026-06-08 21:55:03 +03:30
  • 8b0b21f24d Search: Elasticsearch-style highlighted match snippets (results + typeahead) soroush.asadi 2026-06-08 21:43:50 +03:30
  • bd8d754ee8 NuGet: drop Liara from root nuget.config too (Nexus-only everywhere) soroush.asadi 2026-06-08 21:17:34 +03:30
  • 69a630d185 CI/Docker NuGet: Nexus-only (drop Liara fallback) soroush.asadi 2026-06-08 21:10:56 +03:30
  • 3d1d72ed9b ci: rerun after mirror cert fix soroush.asadi 2026-06-08 21:07:52 +03:30
  • 36612b6bf0 CI/Docker NuGet: Nexus nuget-group primary + Liara fallback soroush.asadi 2026-06-08 19:44:57 +03:30
  • eb7d0f6559 Fix: search suggestions dropdown was clipped by the pill's overflow:hidden soroush.asadi 2026-06-08 17:42:07 +03:30
  • 61afc957aa Search: fix header UI + instant typeahead (5 highlighted matches) + ranking soroush.asadi 2026-06-08 11:58:30 +03:30
  • 9db4deafbc Site-wide rich search with keyword highlighting + header search box soroush.asadi 2026-06-08 11:40:26 +03:30
  • 234bcd1f88 Polished animated contact-reveal box (shift/job/talent details) soroush.asadi 2026-06-08 11:33:41 +03:30
  • 6b657c7795 Applicants: auto-tags + deep search w/ highlight; never delete (archive instead) soroush.asadi 2026-06-08 11:25:32 +03:30
  • e4dc5180ad Applicants: 1→N contact methods with types (phone/email/Instagram/Telegram/Bale/site) soroush.asadi 2026-06-08 11:10:19 +03:30
  • 48760c4e83 Multi-role ads: parse all roles + fan-out publish one listing per role soroush.asadi 2026-06-08 10:58:29 +03:30
  • 13e00ec011 Validator: phone optional for applicants (publish + redirect to Divar) soroush.asadi 2026-06-08 09:32:48 +03:30
  • 386e25c8fd Validator: discard promotional/training ads (workshops, courses) soroush.asadi 2026-06-08 09:30:23 +03:30
  • 70c048a37b Add دندانپزشک + پرستار سالمندان roles (idempotent ensure on startup) soroush.asadi 2026-06-08 09:27:34 +03:30
  • fb02c81830 Social auto-posting (phase 1): daily applicant digest to Telegram/Bale + Instagram caption soroush.asadi 2026-06-08 09:20:49 +03:30
  • 2bb8771ade Normalize ریال→تومان pricing; stop exposing crawl source (medjobs/telegram) soroush.asadi 2026-06-08 09:05:34 +03:30
  • 490821a637 Talent lifecycle (21-day expiry) + noindex expired job/shift details soroush.asadi 2026-06-08 08:59:54 +03:30
  • f9d7c48d88 Admin settings: give each ingestion source its own card soroush.asadi 2026-06-08 08:49:27 +03:30
  • 0622270cd2 Fix: site-wide phone on every Medjobs ad + phone mistaken for price soroush.asadi 2026-06-08 08:42:21 +03:30
  • b092a5cfe5 Admin: bulk-delete published ingested posts; talent: point to source when no phone soroush.asadi 2026-06-08 08:36:12 +03:30