# MM Agro Science Full-Stack Rebuild Checklist

- [x] Review the live reference route structure, primary screens, and core interactions.
- [x] Upgrade the existing static project to add managed backend, authentication, database, and file storage support.
- [x] Provision the persistent database and verify a successful connection.
- [x] Create database tables for site settings, categories, products, activities, gallery items, news, dealers, and contact messages.
- [x] Implement durable create and read operations for public content and contact-message persistence.
- [x] Define content models for site settings, hero slides, categories, products, activities, gallery items, news, dealers, and contact messages.
- [x] Rework the home, products, and contact routes for close reference fidelity and dynamic content rendering.
- [x] Build protected administrative workflows for products and contact messages.
- [x] Add a public contact form that persists enquiries in the database.
- [x] Verify selected public and administrative layouts on desktop and mobile.
- [x] Save a tested checkpoint and deliver the completed upgrade.
- [x] Implement the remaining public-facing reference routes for about, activities, categories, gallery, news, downloads, and dealer discovery.
- [x] Expand the protected content console to manage settings, categories, activities, gallery items, news, and dealers.
- [x] Add creation and listing controls for hero slides, crop solutions, benefit cards, and mission, vision, and help modules.
- [x] Add edit and removal controls for existing hero slides, benefit cards, and crop solutions.
- [x] Add prefilled editing for mission, vision, and help modules and verify all homepage-content workflows.
- [x] Add baseline automated coverage for selected homepage-content update and removal records.
- [x] Verify homepage-content workflow contracts through protected route tests and public data invalidation.
- [x] Add test coverage for hero deletion and benefit and crop-solution updates.
- [x] Inspect the completed protected content-editing interface and re-run the validation suite.
- [x] Re-run the final active-project tests, type check, and production build after the content-tab enhancement.
- [x] Add public product-detail routes and make every product reference link to its matching detail page.
- [x] Add crop-solution detail routes with editable common problems and recommended product relationships.
- [x] Add leadership and management profile content with photo, role, message, ordering, and public presentation.
- [x] Extend the data model and CMS to manage editable icons, labels, descriptions, ordering, visibility, and links for the core public content modules.
- [x] Add secure image upload, replacement, selection, and removal workflows for products, leadership profiles, crop problems, and the reusable media library.
- [x] Expand the protected administration console with complete add, edit, remove, and publishing controls for all new content types.
- [x] Validate product, crop-solution, leadership, media, and CMS editing workflows on desktop and mobile.
- [x] Add inline image upload, replace, preview, and clear controls to hero slides, activities, news, gallery, crop solutions, highlights, farmer stories, and other image-backed editorial records.
- [x] Add CMS-managed public identity, navigation, footer, and download-content fields previously presented as static site chrome.
- [x] Revalidate the earlier end-to-end CMS workflow after the media and public-identity coverage pass.
- [x] Seed and expose every remaining public identity and chrome setting, including company name, tagline, welcome text, contact fields, site URL, and social links.
- [x] Re-run browser-level verification of the latest homepage, downloads, product and crop detail pages, About page, and CMS console after the farmer-story and final identity updates.
- [x] Verify unauthenticated and authenticated administration permissions and logout behavior with dedicated automation and browser checks.
- [x] Add self-hosting configuration and an environment-variable reference that does not depend on managed platform credentials.
- [x] Write deployment instructions for a Node.js server, MySQL database, domain DNS, reverse proxy, and HTTPS.
- [x] Package the complete source code, migrations, starter content, media assets, and self-hosting guide for download.
- [x] Redesign the product-detail page with the supplied two-column image-and-specification reference layout.
- [x] Map CMS product image, active ingredient, formulation, pack size, and recommended crops into the redesigned detail cards.
- [x] Verify the redesigned product detail page on desktop and mobile.
- [x] Reorder the About page to show company introduction and Chairman, MD, and GM profiles before mission, vision, and benefits.
- [x] Preserve CMS-managed leadership profile data and clear guidance when management profiles have not yet been published.
- [x] Verify the revised About page layout on desktop and mobile.
- [x] Manually confirmed the captured desktop and mobile About page views: the leadership section appears before mission, vision, and benefits; spacing is consistent; and cards remain readable without overflow at both sizes.
- [x] Add a leadership-message Bengali-English toggle that supports CMS-managed bilingual content with clear fallback behavior.
- [x] Add an editorial agricultural banner background to the management section.
- [x] Add accessible, reduced-motion-safe hover interactions to published leadership cards.
- [x] Validate the updated management section on desktop and mobile, including the language toggle controls and the empty-profile fallback state.
- [x] Add automated coverage for English, Bengali, and Bengali-fallback leadership message selection.
- [x] Reviewed desktop and mobile About-page screenshots: the agricultural banner remains visible without compromising text contrast, the management empty state is centered and readable, and the section maintains its spacing without horizontal overflow. Language selection behavior is covered by three automated English, Bengali, and fallback cases because no real leadership profiles have been published yet.
- [x] Replace the public-facing management placeholder with a polished farmer-first editorial empty state while keeping CMS setup guidance inside the protected console; visually confirmed the edited state is legible and balanced on desktop and mobile.
- [x] Document the post-polish desktop and mobile review of management empty-state legibility, balance, and overflow behavior.
- [x] Diagnose and repair the public leadership EN/বাংলা language control so its selected state and message changes are visible to visitors.
- [x] Audit every public page, shared navigation label, action, and CMS-managed content type for Bengali-English coverage.
- [x] Add a persistent full-site Bengali-English preference control that switches all visitor-facing interface text, including direct Bengali links via `?lang=bn`.
- [x] Extend CMS-managed public content with Bengali fields and English fallback behavior through a reusable translation registry.
- [x] Ensure each Bengali CMS field can be added, edited, and corrected independently without changing the English source text.
- [x] Apply and validate the required database migrations for bilingual content persistence.
- [x] Test Bengali and English experiences on desktop and mobile across the public website; verified desktop and mobile Bengali headers, navigation, key homepage labels, responsive selector visibility, and public-page language controls.
- [x] Fix the leadership-card EN/বাংলা button so it changes each visible leadership message independently of the global site language.
- [x] Complete Bengali coverage for remaining public labels, empty states, downloads, site settings, and detail-page actions; CMS content retains editable English fallback until a Bengali entry is saved.
- [x] Expose independently editable Bengali translations for remaining CMS-backed site settings and download-resource text.
- [x] Review English and Bengali behavior across representative public routes on desktop and mobile and record the observed results: English was verified through explicit `?lang=en` links and Bengali through `?lang=bn` links on the homepage, About, products, product detail, contact, crops, downloads, dealers, and farmers routes; mobile headers retain an unclipped language selector.
- [x] Finish Bengali coverage for all remaining public UI strings, empty states, About/detail-page labels, and downloads/farmers/dealers/crops copy.
- [x] Extend the Bengali CMS translation workspace to every remaining CMS-backed public text setting and verify independent English/Bengali editing.
- [x] Document a route-by-route English and Bengali desktop/mobile review, including selector visibility and critical UI readability.
- [x] Translate shared detail-page fallback text and complete a final Bengali copy audit for untranslated public labels and empty states.
- [x] Redesign the About page with the supplied clean reference structure: shared header, company introduction, two large Mission/Vision cards, and compact benefit cards.
- [x] Preserve existing CMS-managed management, mission, vision, benefit, bilingual, and image content while applying the new About page layout.
- [x] Verify the redesigned About page on Bengali and English desktop and mobile views; the responsive layouts retain the reference hierarchy without visible overflow and preserve the management section below the core company content.
- [x] Redesign the Activities catalogue to match the supplied image-card grid reference.
- [x] Add CMS-managed activity detail routes with title, date, location, description, and multi-image galleries.
- [x] Make every activity card open its matching public detail page while preserving Bengali-English behavior.
- [x] Verify the activity catalogue and detail page on desktop and mobile; the live Farmer Meeting activity loads via its detail route and both Bengali desktop and mobile layouts remain readable.
- [x] Redesign the Solutions for Every Crop section with the supplied label, heading, All Crops action, and image-overlay card hierarchy.
- [x] Preserve CMS crop names, images, common-problem counts, Bengali-English behavior, and clickable crop detail routes.
- [x] Verify the crop solutions section and crop detail journey on desktop and mobile; the responsive image-overlay cards remain readable and the Rice card continues to open its existing crop detail route.
- [x] Visually verify a linked crop detail page on desktop and document the complete desktop-mobile crop journey review: the Rice card opens the crop detail page on desktop and mobile, and the current CMS empty-state guidance is readable while administrators add common problems and recommended products.
- [x] Redesign the All Crops catalogue to match the supplied image-overlay card grid reference.
- [x] Redesign each crop detail page with reference-aligned title, summary, Common Problems panel, and Recommended Products cards.
- [x] Preserve CMS-managed crop names, summaries, images, problems, product recommendations, and bilingual content within the redesigned crop pages.
- [x] Verify the All Crops catalogue, crop details, and product-detail links on desktop and mobile; tested desktop English and mobile Bengali routes through Potato and the linked Meril 72 WP product detail page.
- [x] Add the user-supplied Potato common problems and Meril 72 WP recommendation as CMS-managed production content.
- [x] Restore relevant CMS-managed crop imagery and per-problem detail content within the reference-aligned crop detail layout.
- [x] Re-verify the Potato crop detail on desktop and mobile after restoring crop imagery and problem-detail content; the crop image, common-problem panel, recommendation card, and product link remain readable across both views.
- [x] Redesign the homepage gallery with the supplied Moments heading, Full Gallery action, and masonry photo composition.
- [x] Add CMS-managed gallery categories for All, Farmers, Dealer Meetings, Field Visits, Programmes, Training, and Events filtering.
- [x] Implement public Gallery page filter chips and a responsive masonry gallery grid using CMS image metadata.
- [x] Verify homepage and Gallery page layouts, category filters, and mobile responsiveness; verified desktop English and mobile Bengali masonry layouts, filter-chip visibility, and persisted example Farmer, Field Visit, and Programme categories.
- [x] Replace the free-text CMS gallery category entry with a validated controlled category selector that saves exact public filter keys.
- [x] Add automated coverage for every supported gallery category key used by public Gallery filters.
- [x] Replace the existing header emblem with the supplied MM company logo using managed web asset storage.
- [x] Update the visible company name to “MM Agro Science Ltd.” and the slogan to “Cultivating Growth. Protecting Harvests.” across the public brand header.
- [x] Verify the revised public brand identity on desktop and mobile; homepage, About, and Activities desktop headers plus Homepage and About mobile headers show the supplied logo, full legal company name, and slogan without clipping.
- [x] Manually reviewed the captured desktop Home, About, and Activities headers and mobile Home and About headers: the supplied MM mark retains its horizontal proportions; “MM Agro Science Ltd.” and “Cultivating Growth. Protecting Harvests.” remain fully legible; and the brand block does not overlap navigation, language controls, search, or mobile-menu controls.
- [x] Completed an independent full-page visual review of the final public brand shell: the supplied horizontal MM mark, “MM Agro Science Ltd.” legal name, and “Cultivating Growth. Protecting Harvests.” slogan remain visibly separated from navigation and utility controls; the review confirmed the brand treatment is coherent with the site’s green/orange agricultural design system.
- [x] Completed route- and viewport-complete review for Home, About, and Activities: desktop and mobile captures show the horizontal MM logo without distortion, the full “MM Agro Science Ltd.” legal name and “Cultivating Growth. Protecting Harvests.” slogan at readable sizes, and clear separation from navigation, search, language, and mobile-menu controls. Independent desktop and mobile visual reviews found no brand-header defect requiring a change.
- [x] Ran a successful fresh independent desktop review for Home, About, and Activities after the quota reset. It returned broader future design recommendations for cross-page framing, product-pack imagery, and copy refinement, with no header-specific issue identified in its findings.
- [x] Create a square favicon-safe asset from the supplied MM brand logo without changing the logo identity.
- [x] Replace the outdated browser-tab favicon and related metadata with the updated MM favicon.
- [x] Verify the updated favicon reference in the production build; metadata test passes, and the production HTML contains the new favicon URL and current legal company title.
- [x] Save and publish the completed browser-tab favicon correction.
- [x] Prepare four clearly temporary placeholder portraits for Chairman, Managing Director, General Manager, and RSM.
- [x] Seed four individually editable CMS leadership profiles with temporary names, roles, English/Bengali messages, ordering, and portrait assets.
- [x] Verify the temporary leadership card placement on the public About page and confirm each seeded profile has its own CMS edit form with independent name, designation, English/Bengali message, image-upload, visibility, and display-order controls.
- [x] Confirmed all four generated leadership portrait URLs resolve to finished temporary placeholder artwork before release.
- [x] Visually confirmed the finished Chairman and Managing Director assets: both are non-identifiable green-and-cream agricultural editorial silhouettes suitable for clearly temporary CMS placeholders.
- [x] Visually confirmed the finished General Manager and RSM assets: both are non-identifiable agricultural editorial portraits with the same green/orange visual system, suitable for clearly temporary CMS placeholders.
- [x] Verified all four published managed-storage placeholder image URLs follow to HTTP 200 image/webp responses with completed image payloads, not generation placeholders.
- [x] Reviewed the public English and Bengali About-page results: Chairman, Managing Director, General Manager, and RSM cards render in sort order 1–4, with all temporary names, roles, artwork, and replacement guidance visible.
- [x] Manually reviewed the English and Bengali About-page captures: Chairman, Managing Director, General Manager, and RSM cards render in sort order 1–4.
- [x] Upload the supplied General Manager photograph to managed website storage.
- [x] Replace the General Manager placeholder portrait and temporary name with the supplied photo and “Md. Jobaidul Islam” in the editable CMS record.
- [x] Verify the revised General Manager card on the public English and Bengali About pages: the supplied portrait, “Md. Jobaidul Islam” name, “General Manager” designation, and editable message guidance render correctly; 19 automated tests pass.
- [x] Replace the temporary Chairman, Managing Director, and RSM names with Mahbubur Rahman, Robel Ahammad, and Razu Ahmed in their editable CMS profiles.
- [x] Correct the leadership-card portrait crop so the supplied General Manager photo shows the full head and face rather than cutting the top of the portrait.
- [x] Verify the revised leadership cards in English and Bengali: all four names and designations display correctly, the General Manager portrait retains the full head and face, and 19 automated tests, TypeScript, and production build pass.
- [x] Write role-appropriate dummy English and Bengali messages for Chairman, Managing Director, General Manager, and RSM.
- [x] Save the dummy messages into the four independently editable CMS leadership records.
- [x] Verify the revised English and Bengali leadership card messages: all four messages render cleanly in the public management section and remain independently editable in CMS; 19 automated tests pass.
- [x] Remove the redundant “Chairman, MD & General Manager” title below the Management Introduction label.
- [x] Prepare a clearly temporary editable portrait and profile for Accounts Executive Foysal Ahmed.
- [x] Improve the supplied General Manager photo treatment so it sits proportionately and professionally in its card.
- [x] Verify the complete management section in English and Bengali: the redundant heading is removed, Foysal Ahmed’s Accounts Executive card is present, the General Manager portrait is a balanced head-and-shoulders crop, and 19 automated tests, TypeScript, and production build pass.
- [x] Upload the supplied Foysal Ahmed photograph to managed website storage.
- [x] Replace Foysal Ahmed’s temporary Accounts Executive portrait with the supplied photograph in the editable CMS profile.
- [x] Save the supplied Eastern Commercial Complex, Suite#16 (9th Floor), 73 Kakrail, Dhaka-1000 address to public company contact settings.
- [x] Verify the public Accounts Executive portrait and company address: Foysal Ahmed’s supplied photo renders in the management card, the address displays in the homepage footer contact block, and 19 automated tests pass.
- [x] Upload the supplied Razu Ahmed RSM photograph to managed website storage.
- [x] Replace Razu Ahmed’s temporary RSM portrait with the supplied photograph in the editable CMS profile.
- [x] Verify the revised RSM card on English and Bengali About pages: the supplied Razu Ahmed portrait renders clearly in the Regional Sales Manager card, and 19 automated tests pass.
- [x] Replace the browser leadership-card photo treatment that cuts off the lower face and shoulders of supplied portraits.
- [x] Ensure General Manager, RSM, and Accounts Executive photos preserve a complete head-and-shoulders composition in desktop and mobile cards.
- [x] Verify corrected browser portrait rendering: all supplied executive photos now use proportional full-image treatment without lower-face or shoulder clipping in desktop and mobile cards; 19 automated tests pass.
- [x] Standardize the leadership-card portrait frame so supplied photos share a consistent professional presentation instead of appearing visually mismatched.
- [x] Increase the designation typography for clearer role hierarchy on desktop and mobile cards.
- [x] Verify the refined management-card presentation in desktop and mobile browsers: portraits use a unified surface and proportion, designation labels are larger and more legible, and 19 automated tests, TypeScript, and production build pass.
- [x] Upload the supplied Robel Ahammad Managing Director photograph to managed website storage.
- [x] Replace Robel Ahammad’s temporary Managing Director portrait with the supplied photograph in the editable CMS profile.
- [x] Verify the revised Managing Director card on English and Bengali About pages: the supplied Robel Ahammad portrait renders correctly in the Managing Director card, and 19 automated tests pass.
- [x] Extract all real product entries and available specifications from the supplied product-list PDF.
- [x] Validate product names, active ingredients, formulations, pack sizes, crop targets, and categories before CMS import; the source PDF does not state crop targets or dosage for every product, so those fields remain unchanged or are identified for CMS completion instead of being invented.
- [x] Map and import the validated catalogue into persistent CMS products without duplicating existing records.
- [x] Verify imported products on public catalogue and detail routes: 43 active catalogue products render across Fertilizer & Micronutrients, Plant Growth Regulators, Insecticides, Fungicides, and Herbicides; the Parin 55 EC detail shows validated composition and pack sizes; 19 automated tests, TypeScript, and production build pass.
- [x] Add a persistent Draft, Published, and Unpublished status to CMS-managed product content without disrupting existing live products; legacy visible products remain Published and legacy hidden products are now marked Unpublished.
- [x] Filter public product catalogue and detail routes so only Published products are visible to visitors.
- [x] Add clear product status selectors and status badges in the admin CMS product editor.
- [x] Add automated status-transition coverage and verify the product status workflow: Draft, Published, and Unpublished are accepted by the admin contract, invalid statuses are rejected, public products remain visible only when Published, and 23 automated tests, TypeScript, and production build pass.
- [x] Inventory every public CMS module and map its current Create, Edit, Delete, and legacy visibility behavior to the shared workflow.
- [x] Add persistent Draft, Published, and Unpublished statuses to all public CMS modules and migrate existing visible/hidden records safely.
- [x] Restrict every public module and detail route to Published records only while keeping Draft/Unpublished records visible to admins through the shared status manager; status changes map safely to the existing public-visibility field.
- [x] Add consistent status selectors, status badges, and Create/Edit/Delete actions throughout the CMS; Product status controls remain in the Product editor, while all other public modules are managed in the shared Publication workspace.
- [x] Add status-transition tests and verify public visibility boundaries before publishing the all-module workflow: all 12 non-product public modules accept Draft, Published, and Unpublished transitions; desktop and mobile admin captures show the shared workspace and its responsive selectors; 36 automated tests, TypeScript, and production build pass.
- [x] Verified the signed-in afoysalh47@gmail.com user record and granted it the admin role required for CMS access.
- [x] Confirm the promoted account can reload `/admin` without the Admin access required message after the published authorization correction is live; the signed-in afoysalh47@gmail.com CMS workspace is now visible.
- [x] Trace the login flow that resets afoysalh47@gmail.com from admin and correct persistent role handling.
- [x] Verify the afoysalh47@gmail.com project-admin authorization rule through an automated admin-procedure regression test; application logic now permits this account independently of the platform-supplied role.
- [x] Trace the browser-side admin gate that still rejects afoysalh47@gmail.com after server authorization succeeds.
- [x] Update the client-side access recognition to allow the configured project CMS administrator.
- [x] Verify the published `/admin` route opens the CMS for afoysalh47@gmail.com without the Admin access required message; the account now reaches the Full website CMS controls.
- [x] Redesign the CMS console with professional high-readability typography, hierarchy, spacing, and controls for comfortable content management.
- [x] Improve the desktop and mobile CMS layouts so module settings, publication controls, and save actions remain clear at practical working zoom levels.
- [x] Validate the redesigned CMS console visually, run automated checks, and publish the usability improvement: desktop and mobile views show spacious readable controls; 39 automated tests, TypeScript, and production build pass.
- [x] Diagnose why products marked Published in the CMS are not appearing on the public website: published products are persisted as active records and the public catalogue currently renders all 43 published products.
- [x] Verify the public catalogue filtering and product-detail API already return CMS-published products; no database or frontend repair is required. Homepage placement remains intentionally limited to products marked Featured.
- [x] Verify the public catalogue and product detail data path display CMS-published products: `/products` renders 43 products and the Meril 72 WP public API response contains its published record and related products.

- [x] Redesign the Full Website CMS as a card-based dashboard with one clear entry point for every public website module.
- [x] Add focused module navigation so each card opens the relevant editing, image upload, bilingual content, and publication controls without removing existing CMS capabilities.
- [x] Validate the module dashboard on desktop and mobile, run automated checks, and publish the CMS navigation redesign.

### Current CMS module dashboard request
- [x] Module cards required: Home/Hero, Products, Categories, Benefits, Highlights, Farmer Stories, Activities, Crop Solutions, Leadership/About, Gallery, News, Dealers, Downloads, Contact Messages, and Bengali Translations/Site Settings.
- [x] Each module card must show a short purpose description and a clear Manage/Edit action.
- [x] Preserve Draft/Published/Unpublished workflow and existing Add/Edit/Delete/image-upload controls inside each focused module workspace.

### CMS module dashboard implementation notes
- [x] Audit the existing Full Website CMS module registry and content workspace before implementing the card navigation.
- [x] Implement card-based module navigation with an accessible focus/scroll or workspace switch behavior.
- [x] Verify no existing CMS data operations are removed or hidden behind unclear controls.
- [x] Add/update regression coverage for the module registry and run the complete test, TypeScript, and build validation.
- [x] Save and publish the completed module-dashboard release.

### CMS module dashboard acceptance criteria
- [x] Full Website CMS opens with clear module cards instead of a long undifferentiated settings list.
- [x] Every public module has one visible card and one obvious Manage action.
- [x] Clicking Manage focuses the correct existing CMS editor/workspace.
- [x] Desktop and mobile views remain readable and usable.
- [x] Existing publication, bilingual editing, media upload, create/edit/delete, and persistence behavior remains intact.
- [x] User receives the published checkpoint after validation.

### CMS module dashboard delivery notes
- [x] Deliver the module dashboard with a concise list of changed module navigation behavior.
- [x] Mention any module that remains intentionally grouped with another editor.
- [x] Suggest follow-up usability improvements after the card dashboard is live: module search/filter, per-module publication counts, and recent activity history are documented below for a later CMS operations phase.

### CMS module dashboard status
- [x] Request received from user with reference screenshot showing current Products-first CMS view.
- [x] Requirements acknowledged: make Full Website CMS look like a dashboard with card boxes for easy entry into every module.
- [x] Implementation not started yet; implementation is now complete.
- [x] Validation not started yet; validation is now complete.
- [x] Publish not started yet; publish is now complete.

### CMS module dashboard verification
- [x] Confirm cards are present for all requested modules.
- [x] Confirm each card opens the correct workspace.
- [x] Confirm public-facing content behavior remains unchanged.
- [x] Confirm user can independently manage Bengali and English content where supported.
- [x] Confirm no console errors are introduced.
- [x] Confirm automated tests pass.
- [x] Confirm TypeScript check passes.
- [x] Confirm production build passes.
- [x] Confirm checkpoint is saved and live.

### CMS module dashboard follow-up
- [x] Consider adding module search/filter if the card count becomes difficult to scan; the current 17-card grid remains scan-friendly, and search/filter is documented as a later enhancement.
- [x] Consider adding per-module draft/published counts after the dashboard is in use; this is documented as a later data-summary enhancement rather than changing the current editor behavior.
- [x] Consider adding a recent activity/change history panel after navigation is stable; this is documented as a later audit-history enhancement and is intentionally outside this navigation release.

### CMS module dashboard completion
- [x] Complete card-based module dashboard implementation.
- [x] Complete desktop and mobile visual verification.
- [x] Complete automated validation.
- [x] Publish the final module-dashboard checkpoint.
- [x] Report completion to user.

- [x] Diagnose why CMS-entered packaging or pack-size information for MM Gypsum is not visible on the public product card/detail view: the value was persisted and shown on detail pages but omitted from catalogue cards.
- [x] Repair packaging data persistence or formatting so pack information appears consistently wherever the product is shown: public catalogue cards now show a highlighted Pack label using the CMS packSizes value, while detail specifications remain intact.
- [x] Validate MM Gypsum packaging on the public catalogue and detail page, run automated checks, and publish the correction: Gypsum (Bag) shows 10 kg, Gypsum (Poly Packet) shows 2 kg, 5 kg; 39 tests, TypeScript, and production build pass.

- [x] Redesign public product cards as clean agricultural catalogue cards with product image, category, name, short details, pack size, and View Details only.
- [x] Remove ecommerce-style MRP, discount badges, Best Selling/New Arrival badges, and Add to Cart actions from all public product-card variants; the public site now uses catalogue-style details-only cards.
- [x] Apply the clean card presentation consistently to the public catalogue, homepage product sections, and crop-recommendation cards without changing product detail routes; homepage cards now use real CMS product images and pack information when available.
- [x] Validate desktop and mobile product cards, run automated checks, and publish the clean catalogue-card redesign: desktop/mobile visual review, 39 tests, TypeScript, and production build pass.

- [x] Redesign public product details to match the supplied premium reference: breadcrumb, large product image, category badge, trusted quality marker, title, summary, and icon-based specifications.
- [x] Add structured product-detail sections for product details, uses and benefits, dosage/application, suitable crops, and safety note using only persisted CMS data; empty CMS fields show clear editable placeholders rather than invented claims.
- [x] Preserve product-card click navigation, bilingual rendering, pack-size visibility, related products, and responsive mobile behavior.
- [x] Validate product-detail pages on desktop and mobile, run automated checks, and publish the redesign: desktop/mobile visual review, 39 tests, TypeScript, and production build pass.

- [x] Add Career after Contact Us in the header and public navigation, with a dedicated Career page for Current Openings, Internship, and Apply Online.
- [x] Create persistent CMS-managed job opening and candidate application records with publication/status workflows.
- [x] Build public job detail, internship, and Apply Online submission flows with clear success, error, and empty states.
- [x] Add protected CMS workflows to create, edit, publish, close, and delete job openings and review candidate application status.
- [x] Preserve bilingual public rendering and validate the full Career workflow on desktop and mobile, then publish the release: public desktop/mobile pages, admin Career workspace, 42 tests, TypeScript, and production build pass.

- [x] Define the Our Group / Related Companies presentation and CMS fields for company logo, name, summary, services, website link, and display order.
- [x] Add persistent related-company records with bilingual content and Draft/Published/Unpublished visibility controls.
- [x] Build a public Our Group page and header/footer entry point with clean linked company cards.
- [x] Add protected CMS controls to create, edit, reorder, publish, and remove related companies.
- [x] Validate desktop/mobile presentation, CMS workflows, and publish the Related Companies module: 44 tests, TypeScript, and production build pass.

- [x] Add four clearly temporary related-company cards: MM Engineering Works PTE (Singapore), MM Engineering PTE (Singapore), Baitulla Crop Care (Bangladesh), and MM Group Ventures (Temporary).
- [x] Publish the temporary records through the existing CMS workflow without inventing website URLs, corporate claims, or permanent branding.
- [x] Verify the four cards on the public Our Group page and publish the content update.

- [x] Add clearly marked temporary sector, tagline, summary, service-list, brand-mark, and website-placeholder data to each of the four Related Companies cards.
- [x] Add independent Bengali placeholder translations for every temporary company profile without presenting the content as verified corporate information.
- [x] Verify the enriched English and Bengali group cards and publish the placeholder-content update.

- [x] Add a self-host-compatible SEO foundation: configurable canonical domain, page metadata, Open Graph tags, structured organization data, sitemap, robots directives, and Google Search Console verification support.
- [x] Create persistent privacy-conscious visitor analytics records and a protected analytics dashboard with page-view, visitor, referrer, and recent-traffic summaries.
- [x] Add configurable SEO and Google Search Console fields to CMS Site Settings, without embedding a proprietary hosting dependency.
- [x] Produce self-hosting deployment documentation for a Node.js server, MySQL database, environment variables, custom domain, SSL, sitemap submission, and Google Search Console verification.
- [x] Validate the SEO documents, analytics workflow, dashboard, and self-hosted production build; then publish the release: analytics aggregation now honors strict SQL grouping, browser and server duplicate suppression limit the same visitor and route to one page view per 30 minutes, the protected dashboard renders live summaries, robots and sitemap validate against an HTTPS custom host, and 48 tests, TypeScript, and the production build pass.

### Confirmed Namecheap test subdomain
- [x] Prepare the deployment target for `mm.agroerp.space` under the existing `agroerp.space` cPanel account.
- [x] Add cPanel subdomain, Node.js app, MySQL, DNS, SSL, and test-indexing instructions for `mm.agroerp.space`.
- [x] Validate the test-domain package and deliver the upload steps without requiring hosting credentials.

### Step-by-step cPanel deployment guidance
- [x] Guide the user through creating and verifying `mm.agroerp.space` one cPanel step at a time; the subdomain and Namecheap Web Hosting DNS were successfully created.
- [x] Confirm Node.js App, Terminal/SSH, and MySQL tools with the user before upload; Node.js 22.23.2 is confirmed and the application is created.
- [ ] Guide production package upload, Node app startup, environment variables, database migration, SSL, and test verification.

### cPanel npm dependency conflict
- [ ] Resolve the Vite 7 versus `@builder.io/vite-plugin-jsx-loc` Vite 4/5 peer-dependency conflict for cPanel npm installation.
- [ ] Rebuild and validate a refreshed cPanel deployment archive without weakening production runtime behavior.
- [ ] Guide replacement of the old ZIP and re-run NPM Install in cPanel.
