Files
HickLab3D_Dashboard/README.md
T
Hickmeister ff9960fe06
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 1m42s
Move integration credentials into encrypted dashboard settings
2026-10-11 16:15:02 +01:00

45 lines
1.9 KiB
Markdown

# HickLab3D dashboard
Laravel 13, Tailwind CSS 4, and MySQL dashboard for the HickLab3D workshop. It includes user accounts, Etsy shop data, BamBuddy printer status, Parcel2Go orders, and filament dryer control.
## Setup
Requirements: PHP 8.3+, Composer, Node.js, and MySQL. Point the web server document root at `public/`.
```sh
composer install
npm install
cp .env.example .env
php artisan key:generate
```
On Windows PowerShell, use `Copy-Item .env.example .env` in place of `cp .env.example .env`.
Set `DB_*` in `.env` to your MySQL database, then run:
```sh
php artisan migrate
php artisan app:create-admin your-username you@example.com
npm run build
php artisan serve
```
The admin command prompts for a password. Never pass it on the command line. For local front-end development, use `npm run dev` alongside `php artisan serve`.
The migrations use the legacy table and column names. If you point the app at the existing TechOdyssey database, back it up first. The migrations skip tables already present and create Laravel's session, cache, and job tables. Existing schema variations have not been verified against a database dump. Do not run `migrate:fresh` on a database with production data.
## Integrations
- Enter Etsy, Parcel2Go, BamBuddy, and dryer connection details on the admin Settings page. Saved values are encrypted in the database and take precedence over matching `.env` values.
- Existing `P2G_*`, `BAMBUDDY_*`, `DRYER_*`, and `ETSY_*` environment values remain available as fallbacks. Save each integration on the Settings page to import those values into the database.
- Connect the Etsy shop with OAuth after saving its app credentials. The browser talks to authenticated Laravel routes for dryer status and controls.
## Verification
```sh
php artisan test --compact
npm run build
```
The test suite uses an in-memory SQLite database. MySQL and the external services need environment-specific smoke checks with your credentials and devices.