208 lines
4.5 KiB
Markdown
208 lines
4.5 KiB
Markdown
# Development Mode - Localhost:5000 Setup
|
|
|
|
## ✅ Current Setup
|
|
|
|
### What Changed
|
|
|
|
- **Nginx**: Stopped and disabled
|
|
- **Backend**: Now serves files from development directory
|
|
- **Port**: Website runs on `http://localhost:5000`
|
|
- **Auto-reload**: PM2 watch mode enabled for instant changes
|
|
|
|
### File Locations
|
|
|
|
- **Development files**: `/media/pts/Website/SkyArtShop/website/`
|
|
- Public pages: `website/public/`
|
|
- Admin panel: `website/admin/`
|
|
- Assets: `website/assets/`
|
|
- Uploads: `website/uploads/`
|
|
|
|
### How It Works
|
|
|
|
```javascript
|
|
// Backend automatically serves from development directory
|
|
const baseDir = path.join(__dirname, "..", "website");
|
|
app.use(express.static(path.join(baseDir, "public")));
|
|
app.use("/admin", express.static(path.join(baseDir, "admin")));
|
|
```
|
|
|
|
## 🚀 Access Your Site
|
|
|
|
### URLs
|
|
|
|
- **Homepage**: <http://localhost:5000/>
|
|
- **Admin Login**: <http://localhost:5000/admin/login.html>
|
|
- **Admin Dashboard**: <http://localhost:5000/admin/dashboard.html>
|
|
- **Any page**: <http://localhost:5000/[page-name].html>
|
|
|
|
### API Endpoints
|
|
|
|
- **Admin API**: <http://localhost:5000/api/admin/>*
|
|
- **Public API**: <http://localhost:5000/api/>*
|
|
- **Health Check**: <http://localhost:5000/health>
|
|
|
|
## 🔄 Instant Reflection of Changes
|
|
|
|
### PM2 Watch Mode Enabled
|
|
|
|
PM2 is watching for changes and will auto-restart the backend when:
|
|
|
|
- Backend files change (routes, server.js, etc.)
|
|
- Configuration changes
|
|
|
|
### Frontend Changes (HTML/CSS/JS)
|
|
|
|
Frontend files are served directly from `/media/pts/Website/SkyArtShop/website/`
|
|
|
|
- Just **refresh your browser** (F5 or Ctrl+R)
|
|
- Changes show immediately - no deployment needed!
|
|
- No need to restart anything
|
|
|
|
### Backend Changes
|
|
|
|
- PM2 watch mode automatically restarts the server
|
|
- Changes apply within 1-2 seconds
|
|
|
|
## 📝 Development Workflow
|
|
|
|
### Making Changes
|
|
|
|
1. **Edit any file in `/media/pts/Website/SkyArtShop/website/`**
|
|
|
|
```bash
|
|
# Example: Edit homepage
|
|
nano /media/pts/Website/SkyArtShop/website/public/home.html
|
|
|
|
# Example: Edit admin dashboard
|
|
nano /media/pts/Website/SkyArtShop/website/admin/dashboard.html
|
|
```
|
|
|
|
2. **Refresh browser** - Changes show immediately!
|
|
|
|
3. **No deployment needed** - You're working directly with source files
|
|
|
|
### Checking Status
|
|
|
|
```bash
|
|
# Check if backend is running
|
|
pm2 status
|
|
|
|
# View logs
|
|
pm2 logs skyartshop
|
|
|
|
# Restart manually if needed
|
|
pm2 restart skyartshop
|
|
```
|
|
|
|
## 🛠️ Useful Commands
|
|
|
|
### Backend Management
|
|
|
|
```bash
|
|
# View PM2 status
|
|
pm2 status
|
|
|
|
# View real-time logs
|
|
pm2 logs skyartshop --lines 50
|
|
|
|
# Restart backend
|
|
pm2 restart skyartshop
|
|
|
|
# Stop backend
|
|
pm2 stop skyartshop
|
|
|
|
# Start backend
|
|
pm2 start skyartshop
|
|
```
|
|
|
|
### Test Endpoints
|
|
|
|
```bash
|
|
# Test homepage
|
|
curl http://localhost:5000/
|
|
|
|
# Test admin login
|
|
curl http://localhost:5000/admin/login.html
|
|
|
|
# Test API
|
|
curl http://localhost:5000/api/products
|
|
|
|
# Test health
|
|
curl http://localhost:5000/health
|
|
```
|
|
|
|
## 🌐 When Ready to Push Live
|
|
|
|
### Re-enable Nginx for Production
|
|
|
|
```bash
|
|
# 1. Deploy files to production
|
|
sudo ./deploy-website.sh
|
|
|
|
# 2. Update backend to production mode
|
|
# Edit backend/server.js: Set NODE_ENV=production
|
|
|
|
# 3. Restart backend
|
|
pm2 restart skyartshop
|
|
|
|
# 4. Enable and start nginx
|
|
sudo systemctl enable nginx
|
|
sudo systemctl start nginx
|
|
```
|
|
|
|
### Or Use Deployment Script
|
|
|
|
```bash
|
|
# Deploy everything at once
|
|
sudo ./deploy-website.sh
|
|
```
|
|
|
|
## 📊 Current Configuration
|
|
|
|
### Backend (server.js)
|
|
|
|
- **Environment**: Development (auto-detected)
|
|
- **Port**: 5000
|
|
- **Static Files**: `/media/pts/Website/SkyArtShop/website/`
|
|
- **Watch Mode**: Enabled
|
|
- **Session Cookie**: secure=false (for HTTP)
|
|
|
|
### Nginx
|
|
|
|
- **Status**: Stopped and disabled
|
|
- **Will be re-enabled**: When pushing to production
|
|
|
|
### Database
|
|
|
|
- **PostgreSQL**: Still connected and working
|
|
- **Session Store**: Active
|
|
- **All data preserved**: No changes to database
|
|
|
|
## ✨ Benefits
|
|
|
|
✅ **No deployment needed** - Work directly with source files
|
|
✅ **Instant changes** - Just refresh browser
|
|
✅ **Auto-restart** - PM2 watches for backend changes
|
|
✅ **No HTTPS complexity** - Simple HTTP development
|
|
✅ **Database intact** - All your data is safe
|
|
✅ **Easy testing** - One URL: localhost:5000
|
|
|
|
## 🎯 Summary
|
|
|
|
**Before:**
|
|
|
|
- Nginx on port 80/443 → Served from /var/www/skyartshop/
|
|
- Had to deploy every change
|
|
- Two different sites (localhost vs domain)
|
|
|
|
**Now:**
|
|
|
|
- Backend on port 5000 → Serves from /media/pts/Website/SkyArtShop/website/
|
|
- Edit files directly, refresh browser
|
|
- One development site on localhost:5000
|
|
- Ready to push to production when done
|
|
|
|
---
|
|
|
|
**Access your site now at: <http://localhost:5000>** 🚀
|