Skip to content

fsafva13-coder/mirae-luxe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

56 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MIRAร‰ LUXE ๐Ÿ’Ž

Elevate Your Beauty Ritual โ€” A Full-Stack Luxury Beauty E-Commerce Platform

React .NET PostgreSQL Groq AI JWT License Status


๐Ÿ–ฅ๏ธ Best viewed on desktop. MIRAร‰ LUXE is optimised for desktop resolutions (1280px and above). The mobile experience is functional but some layout elements and features are designed for larger screens.

๐Ÿ“ท Note on product images: Some product images may display an "Image not found" placeholder. This is due to ImgBB's free tier CDN bandwidth limitations and is not a code issue. Product images are served from ImgBB-hosted URLs stored in the database. Refreshing the page or viewing on a different network may resolve individual image load failures.


๐Ÿ“Œ Project Overview

MIRAร‰ LUXE is a production-ready, full-stack luxury beauty e-commerce platform designed to deliver a seamless, premium shopping experience for skincare and makeup enthusiasts. The platform solves the fragmented online beauty shopping experience by combining intelligent product discovery (AI assistant + skin quiz), a complete purchase lifecycle (cart, checkout, orders), and a loyalty membership system โ€” all within a cohesive, brand-consistent UI.

Built as a team capstone project for the University of West London (2026), MIRAร‰ LUXE demonstrates end-to-end software engineering across frontend, backend, database, and AI integration layers.


๐ŸŒ Live Demo

Service URL
Frontend (Vercel) https://mirae-luxe.vercel.app
Backend (Railway) https://mirae-luxe-production.up.railway.app
Database PostgreSQL on Railway

โœจ Features

  • ๐Ÿ›๏ธ Product Catalogue โ€” 152 products (64 skincare + 88 makeup) with filtering, sorting, and category browsing
  • ๐Ÿค– AI Beauty Assistant โ€” Real-time conversational AI powered by Groq (LLaMA 3.3-70B) with full store context
  • ๐Ÿงด Personalised Skin Quiz โ€” Multi-step quiz with backend-driven recommendations grouped by concern
  • ๐Ÿ›’ Full Cart System โ€” Add, update quantity, remove items, clear cart with real-time subtotal calculation
  • ๐Ÿ’– Wishlist โ€” Save products, move to cart, manage favourites
  • ๐Ÿ’ณ Checkout & Orders โ€” Simulated payment, order placement, tracking number generation, order history
  • ๐Ÿ’Ž Premium Membership โ€” AED 99/year with 15% discount, free shipping, and free gift on every order
  • ๐Ÿ” Authentication โ€” JWT-based register/login with protected routes
  • ๐Ÿ“ฆ Order Management โ€” Full order history with item breakdown, discount savings, and tracking
  • ๐ŸŽจ AI-Generated Product Imagery โ€” All product visuals created using AI image generation tools
  • ๐ŸŒฑ 100% Vegan & Cruelty-Free โ€” Brand values reflected throughout the platform
  • ๐Ÿ“ฑ Responsive Design โ€” Optimised for desktop; functional on mobile

๐Ÿ› ๏ธ Tech Stack

Layer Technology
Frontend React.js 18, React Router v6, Axios, CSS3
Backend ASP.NET Core (.NET 10), Entity Framework Core
Database PostgreSQL (Railway), EF Core Migrations
Authentication ASP.NET Core Identity, JWT Bearer Tokens
AI Chat Groq Cloud API โ€” LLaMA 3.3-70B Versatile
AI Imagery AI image generation tools (product visuals)
Image Hosting ImgBB (free CDN โ€” see image notice above)
Version Control Git, GitHub
Dev Tools Visual Studio 2022, VS Code, Postman
Deployment Vercel (Frontend), Railway (Backend + Database)

โš ๏ธ Known Limitations

Limitation Details
Desktop Optimised Best experience at 1280px+. Mobile is functional but some features are designed for larger screens.
ImgBB Image Loading Some product images may not load due to ImgBB free tier CDN limits. This is an external service limitation โ€” not a code bug.
Simulated Payments Checkout is fully simulated โ€” no real financial transactions occur. This is an academic project.
Railway Cold Start The Railway backend may take 5โ€“10 seconds to respond after a period of inactivity (free tier sleep behaviour).

๐Ÿ“ธ Screenshots

๐Ÿ  Homepage & Best Sellers

Image

Image

๐Ÿ›๏ธ Shop All โ€” Product Catalogue

Image

๐Ÿงด Product Detail Page

Image

๐Ÿ›’ Shopping Cart

Image

๐Ÿ’ณ Checkout

Image

๐Ÿงช Skin Quiz & Recommendations

Image

Image

๐Ÿ’Ž Membership Page

Image

๐Ÿค– AI Beauty Assistant

Image

๐Ÿ‘ค My Account โ€” Orders & Profile

Image Image

โš™๏ธ Installation & Setup

Prerequisites

  • Node.js 18+ and npm
  • .NET SDK 10.0
  • SQL Server Express 2022 (for local backend development)
  • Visual Studio 2022
  • Git

1. Clone the Repository

git clone https://github.com/fsafva13-coder/mirae-luxe.git
cd mirae-luxe

2. Frontend Setup

cd mirae-luxe-client
npm install

Create a .env file in mirae-luxe-client/:

REACT_APP_GROQ_API_KEY=your_groq_api_key_here

Get a free Groq API key at console.groq.com

Start the development server:

npm start

Frontend runs at: http://localhost:3000


3. Backend Setup

  1. Open MiraeLuxe.API/MiraeLuxe.API.sln in Visual Studio 2022
  2. Create appsettings.json using appsettings.example.json as template:
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost\\SQLEXPRESS;Database=MiraeLuxeDB;Trusted_Connection=True;TrustServerCertificate=True"
  },
  "JwtSettings": {
    "SecretKey": "your_jwt_secret_key_here",
    "Issuer": "MiraeLuxeAPI",
    "Audience": "MiraeLuxeClient",
    "ExpiryMinutes": 1440
  }
}
  1. Run database migrations (Package Manager Console):
Update-Database
  1. Press โ–ถ Run in Visual Studio

Backend runs at: https://localhost:7078


4. Seed the Database

After the backend is running, use the provided upload tools to seed:

  • 64 skincare products
  • 88 makeup products
  • Reviews (3โ€“5 per product)

๐Ÿš€ Usage

As a Guest User

  • Browse all 152 products at /shop
  • Filter by category, price, and skin type
  • View product details and customer reviews
  • Take the skin quiz at /skin-quiz

As a Registered User

  1. Register or login at /login
  2. Add products to cart or wishlist
  3. Proceed to checkout with shipping address
  4. View orders in My Account โ†’ Orders
  5. Join membership at /membership for 15% off all orders

AI Beauty Assistant

  • Click the Ask AI button (bottom right on any page)
  • Ask about skincare routines, ingredients, product recommendations
  • The assistant knows the full product catalogue, pricing, and store policies

๐Ÿ“ Project Structure

mirae-luxe/
โ”‚
โ”œโ”€โ”€ mirae-luxe-client/              # React Frontend
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ common/             # ProductCard, ProductImage, Header, Footer
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ layout/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ChatBot/            # AI Beauty Assistant (Groq)
โ”‚   โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Home.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Shop.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ProductDetail.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Cart.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Checkout.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Wishlist.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SkinQuiz.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ QuizResults.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Membership.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MyAccount.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Login.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ About.jsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ Contact.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ api.js              # Axios API service layer
โ”‚   โ”‚   โ””โ”€โ”€ App.js
โ”‚   โ”œโ”€โ”€ .env.example
โ”‚   โ”œโ”€โ”€ vercel.json                 # React Router SPA rewrite rule
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ””โ”€โ”€ MiraeLuxe.API/                  # ASP.NET Core Backend
    โ”œโ”€โ”€ Controllers/
    โ”‚   โ”œโ”€โ”€ CartController.cs
    โ”‚   โ”œโ”€โ”€ WishlistController.cs
    โ”‚   โ”œโ”€โ”€ OrdersController.cs
    โ”‚   โ”œโ”€โ”€ MembershipController.cs
    โ”‚   โ”œโ”€โ”€ ProductsController.cs
    โ”‚   โ”œโ”€โ”€ ReviewsController.cs
    โ”‚   โ”œโ”€โ”€ QuizController.cs
    โ”‚   โ””โ”€โ”€ UsersController.cs
    โ”œโ”€โ”€ Models/
    โ”‚   โ”œโ”€โ”€ Product.cs
    โ”‚   โ”œโ”€โ”€ Cart.cs / CartItem.cs
    โ”‚   โ”œโ”€โ”€ Order.cs / OrderItem.cs
    โ”‚   โ”œโ”€โ”€ Wishlist.cs / WishlistItem.cs
    โ”‚   โ”œโ”€โ”€ Membership.cs
    โ”‚   โ”œโ”€โ”€ Review.cs
    โ”‚   โ””โ”€โ”€ ApplicationUser.cs
    โ”œโ”€โ”€ Data/
    โ”‚   โ””โ”€โ”€ ApplicationDbContext.cs
    โ”œโ”€โ”€ Migrations/
    โ”œโ”€โ”€ appsettings.example.json
    โ””โ”€โ”€ Program.cs

๐Ÿ“Š Platform Stats

Metric Value
Total Products 152 (64 Skincare + 88 Makeup)
Average Reviews per Product 3โ€“5 reviews
Average Review Rating 4.5โ€“5.0 โญ
API Endpoints 40+
Membership Savings AED 900+ / year average
AI Model LLaMA 3.3-70B Versatile (Groq)

๐Ÿง  Challenges & Learnings

Circular Reference Error โ€” EF Core's JSON serialiser caused infinite loops between Product and Review models. Resolved with [JsonIgnore] on the navigation property.

NULL SelectedShade Validation โ€” .NET 10's nullable reference type enforcement rejected cart requests without the optional SelectedShade field. Fixed by marking the DTO property as string?.

PostgreSQL Migration โ€” Migrated from SQL Server to PostgreSQL for cloud deployment. Required new EF Core migrations and handling of timestamp timezone differences via AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true).

Membership State Sync โ€” Frontend localStorage fell out of sync with backend membership state across sessions. Fixed by always verifying membership status via API on page load.

AI Model Deprecation โ€” llama3-8b-8192 was decommissioned mid-project. Migrated to llama-3.3-70b-versatile with a single line change.

AI Image Coordination โ€” Coordinating AI-generated product imagery across team members required a structured shared workflow via Google Drive and standardised ImgBB upload links.

ImgBB Free Tier โ€” Product images are hosted on ImgBB's free CDN. Intermittent "image not found" errors may occur under high traffic due to free tier bandwidth limits. This is an external service limitation, not a code issue. A production deployment would use a paid CDN (Cloudinary, AWS S3).


๐Ÿ”ฎ Future Improvements

  • Payment Gateway โ€” Integrate Stripe or PayPal for real transactions
  • Admin Dashboard โ€” Product management, order fulfilment, and analytics panel
  • Email Notifications โ€” Order confirmations and shipping updates via SendGrid
  • Full-Text Search โ€” Elasticsearch or Azure Cognitive Search integration
  • Review Submission โ€” Allow authenticated customers to write and submit reviews
  • Social Login โ€” Google/Facebook OAuth via ASP.NET Identity
  • Mobile App โ€” React Native version for iOS and Android
  • Paid Image CDN โ€” Migrate from ImgBB free tier to Cloudinary or AWS S3
  • Inventory Alerts โ€” Low stock notifications for admin management
  • Internationalisation โ€” Multi-currency and multi-language support

๐Ÿ‘ฅ Team & Contributions

Member Belbin Role(s) Key Contributions
Fathima Safva Coordinator ยท Shaper ยท Completer Finisher Backend & frontend development (ASP.NET Core + React), API integration, JWT authentication, AI chatbot integration, AI product image integration, reviewing team work, guiding members, Google Drive organisation, GitHub management
Fathimath Neha Mirsa Sajid Plant ยท Specialist AI skincare product image creation, major contributor to AI visuals, uploading images and sharing ImgBB links for frontend integration, PowerPoint presentation creation
Asna Haris Monitor Evaluator ยท Completer Finisher Documentation writing, wireframe creation, Google Drive monitoring and file checking, logo creation, reviewing website visuals, UI/UX improvement suggestions
Nishna Valiyakath Noushad Implementer ยท Resource Investigator ยท Teamworker Project diagrams (Gantt Chart, WBS, ERD, Use Case Diagram, etc.), social media posting, Gmail communication, logo creation support
Helen Moncy Abraham Plant ยท Resource Investigator AI makeup product image creation, Instagram account management, uploading images and sharing ImgBB links for frontend integration, PowerPoint presentation creation
All Members Teamworker AI image creation discussions and collaborative group contributions

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


๐ŸŽ“ Academic Context

University of West London โ€” Software Engineering Capstone Project, 2026 This is an educational project. Payment processing is fully simulated and no real transactions occur.


Made with ๐Ÿ’Ž by the MIRAร‰ LUXE Team

Premium beauty, thoughtfully engineered.

About

A full-stack luxury beauty e-commerce platform built with React, .NET Core, and PostgreSQL. Features skincare & makeup shopping, AI beauty assistant, skin quiz, membership system, and order management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors