Vintage E-commerce Platform - Authentic vintage items from the 50s to 90s
- π 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
- π Dashboard analytics
- π¦ Product management (CRUD)
- π₯ User management
- π Order management
- π¬ Chat management
- π Sales reports
- React 18 + Vite
- React Router v6
- Context API (State Management)
- Lucide React (Icons)
- React Hot Toast (Notifications)
- Node.js + Express
- PostgreSQL (Database)
- JWT (Authentication)
- Bcrypt (Password Hashing)
- Nodemailer (Email)
- Node.js (v16+)
- PostgreSQL (v12+)
- npm or yarn
# 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- Frontend: http://localhost:5173
- Backend: http://localhost:5000
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
-
- Installation steps
- Running the app
- Basic usage
-
- Git workflow
- Collaboration tips
- Conflict resolution
-
- Test credentials
- Admin access
- Customer accounts
- Translation: See
docs/TRANSLATION_GUIDE.md - Email Setup: See
docs/EMAIL_SETUP_GUIDE.md - Database: See
docs/DATABASE_GUIDE.md
# Daily workflow
git pull origin main # Get updates
# ... make changes ...
git add .
git commit -m "Add: feature description"
git push origin main # Push changes- Always pull before push
- Clear commit messages
- Communicate with team
- Work on different files
See GITHUB_COLLABORATION_GUIDE.md for details.
Email: admin@retrolovedd.com
Password: admin123
Email: customer@test.com
Password: Customer123
Host: localhost
Port: 5432
Database: retroloved_db
User: postgres
Password: [your_password]
- Primary: #8B4513 (Vintage Brown)
- Secondary: #3E2723 (Dark Brown)
- Accent: #D4A574 (Gold)
- Background: #FAFAF9 (Warm White)
- Body: Inter
- Headings: Playfair Display
Port already in use:
# Change port in .env file
PORT=5001Database connection error:
# Check PostgreSQL is running
# Verify DATABASE_URL in .envModule not found:
# Reinstall dependencies
npm installSee TROUBLESHOOTING.md for more.
npm run dev # Development mode
npm start # Production mode
npm run migrate # Run migrations
npm run seed # Seed databasenpm run dev # Development mode
npm run build # Production build
npm run preview # Preview buildSee CHANGELOG.md for version history.
This project is for educational purposes.
- Developer 1: [Your Name]
- Developer 2: [Collaborator Name]
- React Team
- Express.js
- PostgreSQL
- All open-source contributors
Last Updated: October 20, 2025 Version: 1.0.0
For questions or issues, please check the documentation in the docs/ folder.