Skip to content

πŸ›οΈ Modern vintage e-commerce platform built with React + Node.js + PostgreSQL. Features: shopping cart, wishlist, live chat, multi-language (EN/ID), order tracking, product reviews, admin dashboard with analytics, and real-time notifications.

Notifications You must be signed in to change notification settings

ahwine/retrolovednodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ RetroLoved E-commerce

Vintage E-commerce Platform - Authentic vintage items from the 50s to 90s


πŸ“‹ Table of Contents


✨ Features

Customer Features:

  • πŸ›’ Shopping cart with real-time updates
  • ❀️ Wishlist functionality
  • πŸ” Product search and filters
  • πŸ“¦ Order management
  • ⭐ Product reviews
  • πŸ’¬ Live chat support
  • 🌐 Multi-language (English/Indonesian)
  • 🎨 Modern UI with vintage theme

Admin Features:

  • πŸ“Š Dashboard analytics
  • πŸ“¦ Product management (CRUD)
  • πŸ‘₯ User management
  • πŸ“‹ Order management
  • πŸ’¬ Chat management
  • πŸ“Š Sales reports

πŸ› οΈ Tech Stack

Frontend:

  • React 18 + Vite
  • React Router v6
  • Context API (State Management)
  • Lucide React (Icons)
  • React Hot Toast (Notifications)

Backend:

  • Node.js + Express
  • PostgreSQL (Database)
  • JWT (Authentication)
  • Bcrypt (Password Hashing)
  • Nodemailer (Email)

πŸš€ Quick Start

Prerequisites:

  • Node.js (v16+)
  • PostgreSQL (v12+)
  • npm or yarn

Installation:

# 1. Clone repository
git clone https://github.com/YOUR_USERNAME/retroloved-ecommerce.git
cd retroloved-ecommerce

# 2. Install server dependencies
cd server
npm install

# 3. Install client dependencies
cd ../client
npm install

# 4. Setup environment variables
# Copy .env.example to .env and configure
cp server/.env.example server/.env
cp client/.env.example client/.env

# 5. Setup database
# Create PostgreSQL database
# Run migrations
cd server
node scripts/migrate.js

# 6. Seed data (optional)
node scripts/seed-postgres.js

# 7. Run development servers
# Terminal 1 - Server
cd server
npm run dev

# Terminal 2 - Client
cd client
npm run dev

Access:


πŸ“ Project Structure

retroloved-ecommerce/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ public/            # Static files
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # React components
β”‚   β”‚   β”œβ”€β”€ context/       # Context providers
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ services/      # API services
β”‚   β”‚   β”œβ”€β”€ translations/  # i18n files
β”‚   β”‚   └── App.jsx
β”‚   └── package.json
β”‚
β”œβ”€β”€ server/                # Express backend
β”‚   β”œβ”€β”€ config/           # Configuration files
β”‚   β”œβ”€β”€ controllers/      # Route controllers
β”‚   β”œβ”€β”€ middleware/       # Custom middleware
β”‚   β”œβ”€β”€ migrations/       # Database migrations
β”‚   β”œβ”€β”€ routes/          # API routes
β”‚   β”œβ”€β”€ scripts/         # Utility scripts
β”‚   └── server.js
β”‚
β”œβ”€β”€ docs/                # Documentation (organized)
└── README.md           # This file

πŸ“š Documentation

Essential Guides:

  1. QUICK_START_GUIDE.md

    • Installation steps
    • Running the app
    • Basic usage
  2. GITHUB_COLLABORATION_GUIDE.md

    • Git workflow
    • Collaboration tips
    • Conflict resolution
  3. DEMO_ACCOUNTS.md

    • Test credentials
    • Admin access
    • Customer accounts

Feature Guides:

  • Translation: See docs/TRANSLATION_GUIDE.md
  • Email Setup: See docs/EMAIL_SETUP_GUIDE.md
  • Database: See docs/DATABASE_GUIDE.md

🀝 Collaboration

GitHub Workflow:

# Daily workflow
git pull origin main        # Get updates
# ... make changes ...
git add .
git commit -m "Add: feature description"
git push origin main        # Push changes

Best Practices:

  • Always pull before push
  • Clear commit messages
  • Communicate with team
  • Work on different files

See GITHUB_COLLABORATION_GUIDE.md for details.


πŸ” Credentials

Admin Account:

Email: admin@retrolovedd.com
Password: admin123

Customer Account:

Email: customer@test.com
Password: Customer123

Database:

Host: localhost
Port: 5432
Database: retroloved_db
User: postgres
Password: [your_password]

🎨 Design System

Colors:

  • Primary: #8B4513 (Vintage Brown)
  • Secondary: #3E2723 (Dark Brown)
  • Accent: #D4A574 (Gold)
  • Background: #FAFAF9 (Warm White)

Typography:

  • Body: Inter
  • Headings: Playfair Display

πŸ› Troubleshooting

Common Issues:

Port already in use:

# Change port in .env file
PORT=5001

Database connection error:

# Check PostgreSQL is running
# Verify DATABASE_URL in .env

Module not found:

# Reinstall dependencies
npm install

See TROUBLESHOOTING.md for more.


πŸ“ Scripts

Server:

npm run dev          # Development mode
npm start           # Production mode
npm run migrate     # Run migrations
npm run seed        # Seed database

Client:

npm run dev         # Development mode
npm run build       # Production build
npm run preview     # Preview build

πŸ”„ Updates & Changelog

See CHANGELOG.md for version history.


πŸ“„ License

This project is for educational purposes.


πŸ‘₯ Team

  • Developer 1: [Your Name]
  • Developer 2: [Collaborator Name]

πŸ™ Acknowledgments

  • React Team
  • Express.js
  • PostgreSQL
  • All open-source contributors

Last Updated: October 20, 2025 Version: 1.0.0


πŸš€ Happy Coding!

For questions or issues, please check the documentation in the docs/ folder.

About

πŸ›οΈ Modern vintage e-commerce platform built with React + Node.js + PostgreSQL. Features: shopping cart, wishlist, live chat, multi-language (EN/ID), order tracking, product reviews, admin dashboard with analytics, and real-time notifications.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages