RClicks/ ├── frontend/ │ ├── index.html ← Landing page │ ├── signup.html ← Sign up / Login page pip install flask flask-cors│ ├── dashboard.html ← User dashboard │ ├── styles.css ← Global styles │ └── script.js ← Frontend JS (API calls, etc.) │ └── e-commerce/ └── photography/ ├── app.py ← Flask app factory + entry point ├── auth.py ← Password hashing, tokens, decorators ├── database.py ← SQLite setup, schema, seed data ├── utils.py ← Shared helpers & serializers └── routes/ ├── init.py ← Blueprint exports ├── auth.py ← /api/auth (signup, login, logout, google) ├── bookings.py ← /api/bookings (create, list, get, cancel) ├── packages.py ← /api/packages (list, categories, get) ├── testimonials.py ← /api/testimonials (list) └── users.py ← /api/users (profile, password, delete)
---
## How to Run
```bash
# 1. Install dependencies
# 2. Navigate to the backend folder
cd e-commerce/photography
# 3. Start the server
python app.py
API runs at: http://localhost:5000
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| GET | /api | — | Health check |
| POST | /api/auth/signup | — | Register new user |
| POST | /api/auth/login | — | Login with email/password |
| POST | /api/auth/google | — | Login with Google token |
| POST | /api/auth/logout | ✓ | Logout |
| GET | /api/auth/me | ✓ | Get current user |
| GET | /api/packages | — | List packages |
| GET | /api/packages/categories | — | List categories |
| GET | /api/packages/:id | — | Get package |
| GET | /api/testimonials | — | List testimonials |
| GET | /api/bookings | ✓ | List my bookings |
| POST | /api/bookings | ✓ | Create booking |
| GET | /api/bookings/:id | ✓ | Get booking |
| PATCH | /api/bookings/:id/cancel | ✓ | Cancel booking |
| GET | /api/users/me | ✓ | Get profile |
| PATCH | /api/users/me | ✓ | Update profile |
| PATCH | /api/users/me/password | ✓ | Change password |
| DELETE | /api/users/me | ✓ | Delete account |
✓ = Requires Authorization: Bearer <token> header