Skip to content

Releases: ahwine/retrolovednodejs

v1.0.0

21 Oct 03:46

Choose a tag to compare

Core Setup

  • React 18 + Vite setup
  • React Router v6 for navigation
  • Context API for state management
  • Lucide React for icons
  • React Hot Toast for notifications

Authentication System

  • Login page with email/password
  • Register page with validation
  • Forgot password functionality
  • Reset password with token
  • Remember Me feature (30-day session)
  • JWT token authentication
  • Protected routes
  • Modal/Panel Authentication System
    • LoginPanel.jsx - Modal login overlay
    • RegisterPanel.jsx - Modal registration overlay
    • useAuthPanel.js - Custom hook for panel management
    • Appears when guest tries to add to cart/wishlist
    • No page redirect, smooth UX

User Interface Components

Layout Components:

  • Navbar with cart badge (real-time updates)
  • Footer with links
  • Sidebar navigation
  • Breadcrumbs
  • Loading states
  • Error boundaries

Product Components:

  • ProductCard with image, price, actions
  • ProductGrid layout
  • Product detail page
  • Product image gallery
  • Product reviews section
  • Related products
  • Quick view modal

Shopping Components:

  • Shopping cart with quantity controls
  • Cart badge with item count
  • Wishlist functionality
  • Add to cart button
  • Add to wishlist button
  • Real-time cart updates

Homepage:

  • Hero Carousel (v3 - Box Style)
    • Centered box/card design
    • Dark background (#1a1a1a)
    • Full-width background images
    • Left-aligned content
    • Two CTA buttons (primary + secondary)
    • Auto-rotate every 5 seconds
    • Navigation arrows and dots
    • Smooth fade transitions
    • Responsive design
    • Professional e-commerce look
  • Featured products section
  • Category showcase
  • "How to Use" section with icons
  • Testimonials/reviews

Product Pages:

  • Product catalog with filters
  • Search functionality
  • Category filtering
  • Price range filter
  • Gender/preference filter
  • Sort options (newest, price, popular)
  • Pagination
  • Product detail with full info

User Pages:

  • User profile page
  • Order history
  • Order tracking
  • Wishlist page
  • Cart page
  • Checkout page

Customer Support:

  • Live chat system
  • Chat widget (bottom-right)
  • Real-time messaging
  • Chat history
  • Admin chat management

Multi-Language Support (i18n)

  • English and Indonesian languages
  • Language switcher in navbar
  • Translation files (en.json, id.json)
  • LanguageContext for state management
  • Persistent language preference (localStorage)
  • 100% Translation Coverage:
    • All pages translated
    • All components translated
    • All buttons and labels
    • All error messages
    • All notifications

Shopping Preference System

  • Gender/shopping preference field in registration
  • Options: Male / Female
  • Used for personalized product recommendations
  • Filter products by gender
  • Personalized homepage display
  • Stored in database (users.gender column)

Design System

  • Color Palette:
    • Primary: #8B4513 (Vintage Brown)
    • Secondary: #3E2723 (Dark Brown)
    • Accent: #D4A574 (Gold)
    • Background: #FAFAF9 (Warm White)
  • Typography:
    • Body: Inter font
    • Headings: Playfair Display (serif)
  • Consistent spacing and layout
  • Responsive design (mobile-first)
  • Modern vintage aesthetic

User Experience

  • Smooth page transitions
  • Loading skeletons
  • Toast notifications
  • Form validation with feedback
  • Error handling
  • Empty states
  • Confirmation dialogs
  • Hover effects and animations

BACKEND (Server)

Core Setup

  • Node.js + Express server
  • PostgreSQL database
  • RESTful API architecture
  • Environment variables (.env)
  • CORS configuration
  • Error handling middleware

Authentication & Security

  • JWT token generation and verification
  • Bcrypt password hashing
  • Password strength validation
  • Token refresh mechanism
  • Forgot password with email token
  • Reset password functionality
  • Remember Me (extended token expiry)
  • Protected routes middleware
  • Role-based access control (Admin/Customer)

Database Schema

Users Table:

  • id, name, email, password (hashed)
  • role (admin/customer)
  • gender (shopping preference)
  • date_of_birth
  • phone, address
  • created_at, updated_at

Products Table:

  • id, name, description, price
  • category, gender (target audience)
  • stock, image_url
  • condition, era (vintage period)
  • created_at, updated_at

Orders Table:

  • id, user_id, total_amount
  • status (pending/processing/shipped/delivered)
  • shipping_address
  • payment_method
  • created_at, updated_at

Order Items Table:

  • id, order_id, product_id
  • quantity, price
  • created_at

Cart Table:

  • id, user_id, product_id
  • quantity
  • created_at, updated_at

Wishlist Table:

  • id, user_id, product_id
  • created_at
  • Migration script created

Reviews Table:

  • id, user_id, product_id
  • rating (1-5), comment
  • created_at

Chats Table:

  • id, user_id, admin_id
  • message, sender_type
  • is_read
  • created_at

API Endpoints

Authentication:

  • POST /api/auth/register
  • POST /api/auth/login
  • POST /api/auth/forgot-password
  • POST /api/auth/reset-password
  • GET /api/auth/verify-token
  • POST /api/auth/logout

Products:

  • GET /api/products (with filters, search, pagination)
  • GET /api/products/:id
  • POST /api/products (admin only)
  • PUT /api/products/:id (admin only)
  • DELETE /api/products/:id (admin only)

Cart:

  • GET /api/cart
  • POST /api/cart/add
  • PUT /api/cart/update/:id
  • DELETE /api/cart/remove/:id
  • DELETE /api/cart/clear

Wishlist:

  • GET /api/wishlist
  • POST /api/wishlist/add
  • DELETE /api/wishlist/remove/:id

Orders:

  • GET /api/orders (user orders)
  • GET /api/orders/:id
  • POST /api/orders/create
  • PUT /api/orders/:id/status (admin only)
  • GET /api/admin/orders (all orders)

Reviews:

  • GET /api/reviews/product/:productId
  • POST /api/reviews
  • PUT /api/reviews/:id
  • DELETE /api/reviews/:id

Chat:

  • GET /api/chat/messages
  • POST /api/chat/send
  • PUT /api/chat/read/:id
  • GET /api/admin/chats (admin only)

Users:

  • GET /api/users/profile
  • PUT /api/users/profile
  • GET /api/admin/users (admin only)

Email System

  • Nodemailer integration
  • Email templates
  • Email Notifications:
    • Welcome email on registration
    • Password reset email
    • Order confirmation email
    • Order status update email
    • Shipping notification email
  • SMTP configuration
  • Email error handling

Database Scripts

  • Migration scripts
  • Seed data scripts
  • Customer account creation
  • Admin account setup
  • Sample products data
  • Database reset scripts

ADMIN PANEL

Admin Dashboard

  • Sales statistics
  • Revenue charts
  • Order overview
  • User statistics
  • Recent orders list
  • Low stock alerts

Product Management

  • Product list with search
  • Add new product form
  • Edit product
  • Delete product
  • Image upload
  • Stock management
  • Category management

Order Management

  • Order list with filters
  • Order details view
  • Update order status
  • Print invoice
  • Order tracking

User Management

  • User list
  • User details
  • Block/unblock users
  • Role management

Chat Management

  • Customer chat list
  • Real-time chat interface
  • Mark as read/unread
  • Chat history

RESPONSIVE DESIGN

  • Mobile-first approach
  • Tablet optimization
  • Desktop layout
  • Breakpoints:
    • Mobile: < 480px
    • Tablet: 768px
    • Desktop: 1024px+
  • Touch-friendly buttons
  • Responsive images
  • Mobile navigation menu
  • Responsive carousel

SECURITY FEATURES

  • Password hashing (bcrypt)
  • JWT token authentication
  • Protected API routes
  • Input validation
  • SQL injection prevention
  • XSS protection
  • CORS configuration
  • Environment variables for secrets
  • .gitignore for sensitive files

TESTING & QUALITY

Demo Accounts Created:

  • Admin account (admin@retrolovedd.com)
  • Customer accounts (multiple test users)
  • Sample products (50+ items)
  • Sample orders
  • Sample reviews

Documentation:

  • README.md (main documentation)
  • QUICK_START_GUIDE.md
  • GITHUB_COLLABORATION_GUIDE.md
  • DEMO_ACCOUNTS.md
  • EMAIL_SETUP_GUIDE.md
  • TRANSLATION_GUIDE.md
  • DESIGN_SYSTEM.md
  • TROUBLESHOOTING.md
  • CHANGELOG.md (this file)

BUG FIXES

Image Display Issues:

  • Fixed product images not loading
  • Fixed image paths in database
  • Added fallback images
  • Optimized image loading

Cart Issues:

  • Fixed cart badge not updating
  • Fixed cart total calculation
  • Fixed duplicate items in cart
  • Fixed cart persistence

Authentication Issues:

  • Fixed forgot password email sending
  • Fixed token expiration handling
  • Fixed remember me functionality
  • Fixed logout clearing session

UI/UX Issues:

  • Fixed mobile navigation
  • Fixed responsive layout issues
  • Fixed form validation messages
  • Fixed loading states

UI/UX IMPROVEMENTS

Carousel Evolution:

  1. Version 1: Basic carousel with side images
  2. Version 2: Full-width background with center content
  3. Version 3 (Current): Box/card style with dark background
    • Centered card (max-width: 1200px)
    • Dark background (#1a1a1a)
    • Left-aligned content
    • Two CTA buttons
    • Professional e-commerce look

Navigation:

  • Sticky navbar
  • Cart badge with count
  • Language switcher
  • User dropdown menu
  • Mobile hamburger menu

Forms:

  • Real-time validation
  • Password strength indicator
  • Clear error messages
  • Success feedback
  • Loading states

Product Cards:

  • Hover effects
  • Quick actions (cart, wishlist)
  • Sale badges
  • Stock indicators
  • Rating display