Live site: https://glittering-capybara-127147.netlify.app (replace with your renamed Netlify URL or custom domain once set up)
A fully responsive, one-page marketing website built for Élane Parfums PMG, a real online-only perfume business based in Chloorkop, Phomolong, Gauteng, South Africa. The site's job is to turn visitors into orders, so every product card and bundle offer links straight to a WhatsApp message pre-filled with the exact item the customer wants, no cart or checkout flow needed.
Slogan: "Leave a Lasting Impression."
- Building a complete, production-ready site from a real business brief (not a tutorial clone), including exact copy, pricing, and constraints supplied by an actual client
- Responsive design from scratch in plain HTML/CSS (mobile hamburger nav, stacking product grids, tap-friendly buttons) with no framework
- Dynamic WhatsApp deep links generated per product/bundle in vanilla JavaScript
- An accessible FAQ accordion and scroll-based fade-in animations, also built in vanilla JS
- Deployment to a live URL via Netlify
elane-parfums/
│
├── index.html → the whole website (all sections)
├── style.css → all styling
├── script.js → mobile menu, FAQ accordion, scroll animation
│
└── images/
├── elane-logo.png
├── berry-and-berry.jpeg
├── gorgeous-girl.jpeg
├── on-my-way.jpeg
├── oud-d-great.jpeg
├── saad.jpeg
└── white-oud.jpeg
All three code files must stay in the same folder, and images must be a subfolder of that same folder, or the site will break.
- Open the whole
elane-parfumsfolder in VS Code (File → Open Folder). - Install the Live Server extension (search for it in the Extensions panel).
- Right-click
index.html→ Open with Live Server. - The site opens in your browser and auto-refreshes every time you save a file.
- Click every nav link (Home, Collection, About, Delivery, Contact) and confirm it scrolls to the right section.
- Click every "Order on WhatsApp" button and confirm it opens WhatsApp with a pre-filled message naming the correct product or bundle.
- Resize the browser (or use your phone) to check the hamburger menu, product grid stacking, and button sizes on mobile.
- Click through the FAQ questions to confirm they expand and collapse.
- Keep your new photo's filename identical to the one already in
images/(e.g. replace the contents ofberry-and-berry.jpegwith your new photo, same filename). - If you want to use a different filename or file type (e.g.
.pnginstead of.jpeg), update the matching<img src="...">path inindex.htmlto match exactly, including the file extension. - Filenames are case-sensitive, so keep capitalization exactly as it is.
In index.html, prices appear in two places per product:
<p class="product-sizes">50ml — R100<br />100ml — R180</p>Search for every instance of a product's price line and update the numbers. Also check the FAQ section, which repeats the pricing in writing, and the Bundle Offers section if a bundle price changes.
A product name appears in three places for each product:
- The visible heading:
<h3 class="product-name">On My Wayy</h3> - The image
alttext:alt="On My Wayy fragrance bottle by Élane Parfums" - The WhatsApp message text inside that product's
href, e.g....I%20would%20like%20to%20order%20On%20My%20Wayy.
Update all three consistently so the WhatsApp message still makes sense.
The number 27694747542 (069 474 7542 in international format, no + or spaces) appears in every wa.me link across the site. In VS Code, use Find and Replace (Ctrl+H / Cmd+H) to replace 27694747542 with the new number everywhere at once, rather than editing each button individually.
Quickest option — Netlify (no account setup beyond signing up):
- Go to netlify.com and sign up for free.
- On the dashboard, choose Add new site → Deploy manually.
- Drag your whole
elane-parfumsfolder into the upload box. - Netlify gives you a live link (e.g.
your-site-name.netlify.app) within seconds. - Optionally rename the site in Netlify's settings for a cleaner link.
- Make sure the project is set to Public if you want anyone with the link to view it.
A custom domain (e.g. elaneparfums.co.za) can be purchased separately through a domain registrar and connected in Netlify's Domain Management settings later.
HTML5, CSS3, vanilla JavaScript. No frameworks, build tools, or backend, static site hosted on Netlify.
- The Reviews section is intentionally left as a placeholder ("Love your Élane fragrance? Share your experience with us.") until real customer testimonials are available. No fabricated reviews are used anywhere on the site.
- The site is written to describe fragrances "inspired by" originals without implying designer brand affiliation. elane-parfums Responsive one-page website for a South African perfume brand, with WhatsApp ordering, mobile nav, and an FAQ accordion. Built in HTML, CSS, and vanilla JS.