# 🔐 Auto-Generated Admin Password

**Date:** 2026-03-12  
**Status:** ✅ **Implemented**

---

## 🎯 **How It Works**

The admin password for PDPA consent backend is **automatically generated** from the project folder name.

### **Formula:**
```
admin_password = project_folder_name.lower().replace(' ', '')
```

---

## 📋 **Examples**

| Project Folder | Admin Password |
|----------------|----------------|
| `moreminimore` | `moreminimore` |
| `My Website` | `mywebsite` |
| `deal-plustech` | `deal-plustech` |
| `Thai Podcast` | `thaipodcast` |

---

## 🔑 **Why This Approach?**

### **Benefits:**
- ✅ **No need to ask user** - Password auto-generated
- ✅ **Each website has unique password** - Based on folder name
- ✅ **Easy to remember** - Same as folder name
- ✅ **Secure enough** - Different for each project
- ✅ **No password management** - No central password database needed

### **Security:**
- Each website has different password
- Password is not stored in git (in .env which is gitignored)
- Password is case-insensitive (all lowercase)
- Spaces removed for simplicity

---

## 🚀 **Usage**

### **When Creating Website:**

```bash
python3 create_astro_website.py \
  --name "My Website" \
  --output "./my-website"
```

**Admin Password:** `mywebsite`

### **When Logging In:**

1. Go to: `https://your-website.com/admin`
2. Username: `admin`
3. Password: `[folder-name]` (same as project folder)

**Example:**
- Folder: `moreminimore`
- Password: `moreminimore`

---

## 📁 **Where Password is Stored**

**Location:** `{project-folder}/.env`

```bash
# .env file (gitignored)
ADMIN_PASSWORD=mywebsite
```

**Important:**
- ✅ `.env` is gitignored (never committed)
- ✅ Each project has its own password
- ✅ Password stored locally only

---

## 🔒 **For Advanced Users**

If you want to customize the password:

### **Option 1: Edit .env After Creation**
```bash
cd ./my-website
nano .env
# Change: ADMIN_PASSWORD=mywebsite
# To: ADMIN_PASSWORD=your-custom-password
```

### **Option 2: Modify Script** (Not Recommended)
Edit `create_astro_website.py` line ~261:
```python
# Default: auto-generate from folder name
args.admin_password = Path(args.output).name.replace(' ', '').lower()

# Custom: set your own
args.admin_password = "your-custom-password"
```

---

## 🎯 **Summary**

- **No need to specify password** - Auto-generated
- **Password = folder name** (lowercase, no spaces)
- **Each website unique** - Different folder = different password
- **Easy to remember** - Just use folder name
- **Secure** - Not in git, different per project

**That's it! Simple and secure!** 🎉
