Releases: ahwine/retrolovednodejs
v1.0.0
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:
- Version 1: Basic carousel with side images
- Version 2: Full-width background with center content
- 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