Skip to content

Latest commit

Β 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎧 Audiophile E-commerce

A premium, fully-responsive e-commerce web application for high-end audio equipment built with Next.js 14, TypeScript, and Tailwind CSS.

✨ Features

πŸ›οΈ Core E-commerce Functionality

  • Product Catalog: Browse headphones, speakers, and earphones with detailed product pages
  • Shopping Cart: Add items, adjust quantities, and manage your cart with real-time updates
  • Checkout Flow: Complete order form with billing, shipping, and payment details
  • Order Confirmation: Beautiful success modal with order summary

🎨 Design & UX

  • Fully Responsive: Seamless experience across mobile, tablet, and desktop devices
  • Modern UI: Clean, minimalist design following a professional design system
  • Smooth Animations: Hover effects, transitions, and micro-interactions
  • Accessibility: Semantic HTML and keyboard navigation support

πŸš€ Technical Highlights

  • Next.js 14: App Router with server and client components
  • TypeScript: Full type safety throughout the application
  • Context API: Global state management for shopping cart
  • Image Optimization: Next.js Image component for optimized loading
  • Tailwind CSS: Utility-first styling with custom design tokens

πŸ› οΈ Tech Stack

πŸ“¦ Project Structure

audiophile/
β”œβ”€β”€ src/
β”‚   └── app/
β”‚       β”œβ”€β”€ components/
β”‚       β”‚   β”œβ”€β”€ Navbar.tsx          # Navigation header
β”‚       β”‚   β”œβ”€β”€ Footer.tsx          # Footer component
β”‚       β”‚   └── CartModal.tsx       # Shopping cart modal
β”‚       β”œβ”€β”€ context/
β”‚       β”‚   └── CartContext.tsx     # Cart state management
β”‚       β”œβ”€β”€ product/
β”‚       β”‚   β”œβ”€β”€ xx99-mark-two-headphones/
β”‚       β”‚   β”œβ”€β”€ xx99-mark-one-headphones/
β”‚       β”‚   β”œβ”€β”€ xx59-headphones/
β”‚       β”‚   β”œβ”€β”€ zx9-speaker/
β”‚       β”‚   β”œβ”€β”€ zx7-speaker/
β”‚       β”‚   └── yx1-earphones/
β”‚       β”œβ”€β”€ headphones/
β”‚       β”‚   └── page.tsx            # Headphones category
β”‚       β”œβ”€β”€ speakers/
β”‚       β”‚   └── page.tsx            # Speakers category
β”‚       β”œβ”€β”€ earphones/
β”‚       β”‚   └── page.tsx            # Earphones category
β”‚       β”œβ”€β”€ checkout/
β”‚       β”‚   └── page.tsx            # Checkout page
β”‚       β”œβ”€β”€ layout.tsx              # Root layout with providers
β”‚       β”œβ”€β”€ page.tsx                # Home page
β”‚       └── globals.css             # Global styles
β”œβ”€β”€ public/                          # Static assets (images)
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ tsconfig.json
└── next.config.js

πŸš€ Getting Started

Prerequisites

  • Node.js 18.17 or later
  • npm, yarn, or pnpm

Installation

  1. Clone the repository

    git clone https://github.com/Visino2/audiophile.git
    cd audiophile
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  4. Open your browser Navigate to http://localhost:3000

🎨 Design System

Color Palette

Primary Orange:   #D87D4A
Orange Hover:     #FBAF85
Dark Background:  #191919
Light Gray:       #F1F1F1
Body Background:  #FAFAFA
Black:            #000000
White:            #FFFFFF

Typography

  • Font Family: Manrope
  • Weights: 400 (Regular), 500 (Medium), 700 (Bold)
  • Button Text: 13px, Bold, 1px letter-spacing
  • Body Text: 15px, 25px line-height

Breakpoints

Mobile:   < 768px
Tablet:   768px - 1023px
Desktop:  β‰₯ 1024px

πŸ›’ Cart Features

Add to Cart

  • Select quantity with +/- controls
  • Add multiple items at once
  • Auto-opens cart modal on add

Cart Management

  • View all items with thumbnails
  • Adjust quantities inline
  • Remove individual items
  • Clear entire cart
  • Real-time price calculations

Checkout

  • Form validation
  • Multiple payment methods (e-Money, Cash on Delivery)
  • Shipping cost calculation
  • VAT calculation (20%)
  • Order summary with grand total

πŸ“± Responsive Design

Mobile (< 768px)

  • Hamburger menu navigation
  • Stacked product layouts
  • Touch-optimized controls
  • Optimized image sizes

Tablet (768px - 1023px)

  • 2-column product grids
  • Balanced image and text layouts
  • Medium-sized category cards

Desktop (β‰₯ 1024px)

  • Full navigation bar
  • 3-column category grids
  • Side-by-side product displays
  • Large product images

πŸ”§ Configuration

Tailwind Configuration

The project uses a custom Tailwind configuration with the design system colors:

// tailwind.config.ts
export default {
  theme: {
    extend: {
      colors: {
        'audiophile-orange': '#D87D4A',
        'audiophile-orange-light': '#FBAF85',
        'audiophile-dark': '#191919',
        'audiophile-gray': '#F1F1F1',
      },
      fontFamily: {
        sans: ['Manrope', 'sans-serif'],
      },
    },
  },
}

πŸ“„ Pages Overview

Home (/)

  • Hero section with featured product
  • Category navigation cards
  • Featured product showcases
  • About section

Category Pages (/headphones, /speakers, /earphones)

  • Product listings with images
  • Product descriptions
  • CTA buttons to product details

Product Detail Pages (/product/[slug])

  • Large product images
  • Detailed specifications
  • Features section
  • "In the Box" contents
  • Product gallery
  • "You May Also Like" recommendations
  • Add to cart functionality

Checkout (/checkout)

  • Billing details form
  • Shipping information
  • Payment method selection
  • Order summary sidebar
  • Success modal on completion

🎯 Future Enhancements

  • User authentication and accounts
  • Order history
  • Product reviews and ratings
  • Wishlist functionality
  • Payment gateway integration (Stripe/PayPal)
  • Backend API integration
  • Product search functionality
  • Filtering and sorting
  • Email notifications
  • Dark mode support

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘ Acknowledgments

  • Design inspiration from Frontend Mentor
  • Icons and images are for demonstration purposes
  • Manrope font by Google Fonts

πŸ“§ Contact

victor aba - @visino twitter

Project Link: https://github.com/yourusername/audiophile

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages