{"id":50903775,"url":"https://github.com/hatimhtm/nota-parfum-landing","last_synced_at":"2026-06-16T05:05:28.854Z","repository":{"id":357608763,"uuid":"1237724772","full_name":"hatimhtm/nota-parfum-landing","owner":"hatimhtm","description":"Landing page for Nota Parfum — a Fès-based perfume house. 24 inspired-by fragrances, COD nationwide, WhatsApp-led commerce. Astro 5 + Tailwind v4 + Bun.","archived":false,"fork":false,"pushed_at":"2026-05-13T13:02:55.000Z","size":1290,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T15:10:57.367Z","etag":null,"topics":["astro","bun","client-work","ecommerce","fes","fragrance","freelance","landing-page","luxury","maroc","mobile-first","morocco","parfumerie","perfume","static-site","tailwindcss","typescript","vercel","vitest","whatsapp"],"latest_commit_sha":null,"homepage":"https://nota-parfum-landing.vercel.app","language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hatimhtm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"hatimelhassak"}},"created_at":"2026-05-13T12:57:42.000Z","updated_at":"2026-05-13T13:07:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hatimhtm/nota-parfum-landing","commit_stats":null,"previous_names":["hatimhtm/nota-parfum-landing"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/hatimhtm/nota-parfum-landing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatimhtm%2Fnota-parfum-landing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatimhtm%2Fnota-parfum-landing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatimhtm%2Fnota-parfum-landing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatimhtm%2Fnota-parfum-landing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hatimhtm","download_url":"https://codeload.github.com/hatimhtm/nota-parfum-landing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatimhtm%2Fnota-parfum-landing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34391761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astro","bun","client-work","ecommerce","fes","fragrance","freelance","landing-page","luxury","maroc","mobile-first","morocco","parfumerie","perfume","static-site","tailwindcss","typescript","vercel","vitest","whatsapp"],"created_at":"2026-06-16T05:05:27.628Z","updated_at":"2026-06-16T05:05:28.844Z","avatar_url":"https://github.com/hatimhtm.png","language":"Astro","funding_links":["https://buymeacoffee.com/hatimelhassak"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets-readme/hero-banner-dark.svg\"\u003e\n  \u003cimg alt=\"Nota Parfum landing page\" src=\"assets-readme/hero-banner.svg\" width=\"100%\"\u003e\n\u003c/picture\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n[![Astro](https://img.shields.io/badge/ASTRO-5.x-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](https://astro.build)\n[![Tailwind v4](https://img.shields.io/badge/TAILWIND-V4-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](https://tailwindcss.com)\n[![Bun](https://img.shields.io/badge/BUN-1.3-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](https://bun.sh)\n[![Vitest](https://img.shields.io/badge/VITEST-23%2F23-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](https://vitest.dev)\n[![GitHub Pages](https://img.shields.io/badge/LIVE-GH%20PAGES-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](https://hatimhtm.github.io/nota-parfum-landing/)\n[![License: MIT](https://img.shields.io/badge/LICENSE-MIT-1A1A1A?style=for-the-badge\u0026labelColor=1A1A1A\u0026color=CCFF00)](LICENSE)\n\n\u003cbr\u003e\n\n_A pitch landing page for **\u003cstrong\u003eNota Parfum\u003c/strong\u003e** — a **\u003cstrong\u003eFès-based perfume house\u003c/strong\u003e** in Morocco that bottles **\u003cstrong\u003e24 fragrances inspired by the great names\u003c/strong\u003e** and delivers nationwide at **\u003cstrong\u003e75\u0026nbsp;MAD per flacon\u003c/strong\u003e**. Built as an unsolicited proposal, with their actual product line, prices, reviews and brand voice baked in._\n\n\u003c/div\u003e\n\n---\n\n### `/// THE BRIEF`\n\n```\n┌────────────────────────────────────────────────────────────────────┐\n│  Client     →  Nota Parfum   (@notaperfumes.official)              │\n│  Location   →  Fès, Maroc                                          │\n│  Catalogue  →  24 fragrances inspired-by (12 femmes · 12 hommes)   │\n│  Pricing    →  75 MAD / unit · 149 MAD / 2-pack · 139 MAD / trio   │\n│  Channel    →  Instagram-first, WhatsApp ordering, COD nationwide  │\n│  Status     →  Pre-launch on web. No site exists.                  │\n│  Goal       →  Win the gig back. Outdo the freelancer they hired.  │\n└────────────────────────────────────────────────────────────────────┘\n```\n\n### `/// SECTIONS`\n\n```\n┌─ 1. HERO          → tagline · stats · hero flacon\n├─ 2. MANIFESTE     → three pillars: inspiration, atelier, accessibility\n├─ 3. LE RITUEL     → emerald section · 139 dh pack · 3-step process\n├─ 4. LA COLLECTION → tabbed grid · Les Femmes / Les Hommes · 24 cards\n├─ 5. L'ATELIER     → Fès heritage · raw materials · craft facts\n├─ 6. LES AVIS      → verbatim FR + Darija reviews from IG\n└─ 7. CONTACT       → WhatsApp · IG · COD · nationwide delivery\n```\n\n### `/// HIGHLIGHTS`\n\n| Decision | Why |\n|---|---|\n| Tagline `L'essence de votre signature` above the fold | It's **their own** tagline, lifted verbatim from their IG menu — instant recognition. |\n| French primary, Darija reviews kept verbatim | Their actual voice. *Bsahtk hbiba*, *ana ga3 mswitoni* — untranslated where the texture matters. |\n| Inspired-by line on every card | Honest positioning. Beats pretending to be Maison Francis Kurkdjian. |\n| Emerald \"Le Rituel\" section | Pulled directly from their existing teal/podium product-shot palette. |\n| WhatsApp CTA in nav, hero, ritual, footer | Mirrors the real ordering path Moroccan customers use. |\n| Quiet hero (no carousel, no countdown) | The Tier-1 tell. Carousels and \"FLASH SALE\" timers signal commodity. |\n| 22 Vitest tests on data + built HTML | Catalogue integrity + brand-marker grep in CI. |\n\n### `/// STACK`\n\n```\nAstro 5         →  static-first islands, zero JS by default\nTailwind v4     →  via @tailwindcss/vite, design tokens in @theme block\nBun 1.3         →  dev + CI runtime\nVitest 2        →  data integrity + built-HTML sanity\nGitHub Actions  →  ci.yml (test) + deploy-pages.yml (publish)\nGitHub Pages    →  static deploy at hatimhtm.github.io/nota-parfum-landing\n```\n\nAstro's `site` and `base` read `SITE` / `BASE_PATH` from env, so the same\nbuild artefact retargets to Vercel or a custom domain without source edits.\n\n### `/// PROJECT LAYOUT`\n\n```\n.\n├── astro.config.mjs\n├── package.json\n├── tsconfig.json\n├── vitest.config.ts\n├── LICENSE\n├── README.md\n├── assets-readme/\n│   ├── hero-banner.svg\n│   └── hero-banner-dark.svg\n├── public/\n│   ├── favicon.svg\n│   └── brand/                  ← cropped from their IG screenshots\n│       ├── logo.png\n│       ├── bottle-burberry-pair.jpg\n│       ├── bottle-trio-orchard.jpg\n│       ├── bottle-miss-dior-prada.jpg\n│       └── bottle-pack-emerald.jpg\n├── src/\n│   ├── components/\n│   │   ├── Nav.astro\n│   │   ├── Hero.astro\n│   │   ├── Manifesto.astro\n│   │   ├── Ritual.astro\n│   │   ├── Collection.astro\n│   │   ├── FragranceCard.astro\n│   │   ├── Heritage.astro\n│   │   ├── Reviews.astro\n│   │   └── Footer.astro\n│   ├── data/\n│   │   ├── fragrances.ts       ← the 24 SKUs, typed\n│   │   └── reviews.ts          ← verbatim IG reviews + translations\n│   ├── layouts/\n│   │   └── Layout.astro\n│   ├── pages/\n│   │   └── index.astro\n│   └── styles/\n│       └── globals.css         ← tokens, fonts, btn/nav/reveal/tab primitives\n├── tests/\n│   ├── fragrances.test.ts      ← catalogue integrity (12 fr · 12 hm · 24 total)\n│   └── build.test.ts           ← dist/index.html brand-marker assertions\n└── .github/\n    ├── FUNDING.yml\n    └── workflows/\n        └── ci.yml\n```\n\n### `/// LOCAL DEV`\n\n```bash\nbun install            # ~40s cold install\nbun run dev            # http://localhost:4321\nbun run check          # astro check (TS + a11y diagnostics)\nbun run build          # static build → dist/\nbun run preview        # serve dist/ locally\nbun run test           # vitest run (data + built HTML)\n```\n\nCI runs the same commands (`bun install → check → build → grep markers → vitest`) on every push to `main` and on every PR.\n\n### `/// STATUS`\n\n🟢 **Production-ready.** Live at **[hatimhtm.github.io/nota-parfum-landing](https://hatimhtm.github.io/nota-parfum-landing/)**.\nEvery push to `main` runs the full CI suite and re-publishes the site automatically.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n_Crafted by_ **[Hatim El Hassak](https://github.com/hatimhtm)** _in May 2026._\n_Unsolicited. Honest. From one Moroccan to another._\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatimhtm%2Fnota-parfum-landing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhatimhtm%2Fnota-parfum-landing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatimhtm%2Fnota-parfum-landing/lists"}