panelrefundultrauhq

RF

Site multi-onglets avec backend JS (Express) + SQL (SQLite). Toutes les données sont enregistrées dans data/app.db (utilisateurs, réglages, onglets, colonnes, lignes, refunds, sessions).

Démarrer

npm install        # déjà fait
npm start          # http://localhost:3000   (PORT=xxxx pour changer)

Au premier démarrage, un mot de passe admin de 16 caractères aléatoires est généré :

Pour l’imposer soi-même : ADMIN_PASSWORD="..." npm start (avant le 1er run). Pour le régénérer : supprimer data/app.db (⚠️ efface tout) ou la ligne admin_password_hash de la table settings.

Onglets

Onglets de base créés automatiquement : Boutiques, Refunds, Contacts, Techniques, Vouchs. Tout est modifiable depuis /admin :

L’onglet Refunds est « système » : colonnes fixes, non supprimable.

Tableau Refunds

boutique · prix · nombre d'articles · technique · documents supplémentaires · délais · en cours (oui/non) · vente ou perso

Accès & permissions

Panel /admin

Protégé par le mot de passe 16 caractères (toi uniquement). Il sert à :

  1. Comptes — bouton « Créer un compte » (mot de passe généré et affiché, à transmettre), cocher les permissions, activer/désactiver, réinitialiser le mot de passe, supprimer.
  2. Onglets & colonnes — tout restructurer à n’importe quel moment.

L’admin a implicitement toutes les permissions de données sur le site.

Structure du code

server.js              API Express + service des pages
db.js                  SQLite (node:sqlite), schéma + amorçage + seed
session-store.js       store de sessions express-session adossé à SQLite
public/
  index.html  js/app.js      site (connexion, onglets, refunds)
  admin.html  js/admin.js     panel admin
  css/style.css
telegram-bot.legacy.js  ancien prototype de bot Telegram (non branché — à reprendre)
data/app.db             base SQLite (créée au 1er run, ignorée par git)

Notes


🤖 Generated with Claude Code