87 lines
3.2 KiB
Markdown
87 lines
3.2 KiB
Markdown
# 🚀 Jouwdriedee.nl — 3D Print Webshop & Maatwerk Studio
|
|
|
|
Welkom bij de broncode van **[jouwdriedee.nl](https://jouwdriedee.nl)**, een moderne webshop en maatwerkservice voor 3D-geprinte artikelen.
|
|
|
|
---
|
|
|
|
## 🛠️ Tech Stack
|
|
|
|
* **Framework:** Laravel 11 (PHP 8.3+)
|
|
* **Frontend:** Tailwind CSS v4 + Alpine.js + Lucide Icons + Vite
|
|
* **Database:** SQLite (standaard out-of-the-box, volume-persistent) of PostgreSQL / MySQL
|
|
* **Hosting & CI/CD:** CasaOS + Gitea + Coolify
|
|
|
|
---
|
|
|
|
## 🌟 Belangrijkste Features
|
|
|
|
1. **Geavanceerde 3D Print Catalogus:**
|
|
* Categorieën: Home & Interieur, Bureau & Tech, Gereedschap, Gadgets & Speelgoed, Custom prints.
|
|
* Filters op materiaal (PLA+, PETG, TPU Flexibel, Resin) en sortering.
|
|
2. **Interactieve 3D Product Configurator:**
|
|
* Live materiaalkiezer met realtime prijscalculator (verschillende toeslagen per filamenttype).
|
|
* Kleur-swatches met visuele indicators.
|
|
* Schaal & afmetingenkiezer (100%, 150%, 200%).
|
|
3. **Eigen STL / CAD Upload Service:**
|
|
* Klanten kunnen rechtstreeks hun eigen `.stl`, `.step` of `.obj` bestand uploaden met gewenste specificaties voor een vrijblijvende offerte.
|
|
4. **Winkelwagen & Afrekenmodule:**
|
|
* Overzichtelijke winkelwagen met live calculatie en gratis verzending drempelwaarde (€ 50,-).
|
|
* Geoptimaliseerd afrekenformulier met ondersteuning voor iDEAL, Bancontact en handmatige overboeking.
|
|
* Live **Print & Productie Status Tracker** (Ontvangen → Slicing & Printwachtrij → 3D Printen → Kwaliteitscontrole & Verzenden).
|
|
|
|
---
|
|
|
|
## 💻 Lokale Ontwikkeling (Windows)
|
|
|
|
### 1. Repository clonen & dependencies
|
|
```bash
|
|
# Ga naar de map
|
|
cd c:\Development\jouwdriedee
|
|
|
|
# Installeer backend dependencies
|
|
composer install
|
|
|
|
# Installeer frontend dependencies
|
|
npm install
|
|
```
|
|
|
|
### 2. Database & Migraties
|
|
```bash
|
|
# Voer migraties en demonstratie-data uit (categorieën, materialen, kleuren, producten)
|
|
php artisan migrate --seed
|
|
```
|
|
|
|
### 3. Ontwikkelserver starten
|
|
```bash
|
|
# Terminal 1: Laravel webserver (standaard op http://localhost:8000)
|
|
php artisan serve
|
|
|
|
# Terminal 2: Vite Hot-Module-Replacement
|
|
npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
## 🐳 Deployment op Coolify (CasaOS + Gitea)
|
|
|
|
Coolify detecteert dit project automatisch dankzij de meegeleverde `nixpacks.toml` en `Dockerfile`.
|
|
|
|
### Stap-voor-stap inrichten in Coolify:
|
|
1. Open je **Coolify Dashboard**.
|
|
2. Klik op **+ New Resource** → **Application** → **Public or Private Git Repository**.
|
|
3. Vul de Gitea URL in: `https://git.webenpcstudio.nl/NiekRabelink/jouwdriedee.git` (en selecteer je Gitea credentials).
|
|
4. **Build Pack:** Laat op **Nixpacks** staan (of kies **Dockerfile**).
|
|
5. **Environment Variables (`.env`) in Coolify:**
|
|
* `APP_NAME="Jouwdriedee.nl"`
|
|
* `APP_ENV=production`
|
|
* `APP_DEBUG=false`
|
|
* `APP_URL=https://jouwdriedee.nl`
|
|
* `APP_KEY` *(genereer een sleutel met `php artisan key:generate --show`)*
|
|
* `DB_CONNECTION=sqlite`
|
|
6. **Persistent Storage (Volumes) in Coolify:**
|
|
* Koppel een volume voor de database en uploads zodat data behouden blijft bij nieuwe deployments:
|
|
* `/app/database` → persistente SQLite database
|
|
* `/app/storage/app/public` → geüploade 3D bestanden
|
|
7. **Domein:** Koppel `https://jouwdriedee.nl`. Coolify regelt automatisch het SSL-certificaat (Let's Encrypt).
|
|
8. Klik op **Deploy**!
|