Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
En ligne : https://servicedesk.parcelinksystems.com — dépôt : https://github.com/mabounas/ServiceNow360 Déploiement : VPS OVH, voir deploy/README.md. Portail client de gestion des anomalies (tickets) et de suivi de projet (planning / diagramme de Gantt), réalisé d'après le cahier des charges Portail Client de Gestion des Anomalies et Module de Suivi de Projet (v0.1).查看完整 README ↗
En ligne : https://servicedesk.parcelinksystems.com — dépôt : https://github.com/mabounas/ServiceNow360
Déploiement : VPS OVH, voir deploy/README.md.
Portail client de gestion des anomalies (tickets) et de suivi de projet (planning / diagramme de Gantt), réalisé d'après le cahier des charges Portail Client de Gestion des Anomalies et Module de Suivi de Projet (v0.1).
La page d'accueil reprend le design ServiceDesk360 produit avec Claude Design (système « Modernist » :
Archivo, accent rouge #ec3013, aucun rayon, filets 2 px). Le système de design est repris tel quel dans
src/app/design-system.css et documenté dans docs-design-system.md ;
toute l'application consomme ses tokens.
| Composant | Choix |
|---|---|
| Front-end | Next.js 16 (App Router), React 19, TypeScript — web responsive |
| Back-end | Routes API Next.js (REST), architecture modulaire |
| Base de données | PostgreSQL via Prisma |
| Authentification | Session JWT signée (jose) en cookie httpOnly, mots de passe bcrypt |
| Notifications | In-app (systématique) + e-mail SMTP via nodemailer (optionnel) |
| Hébergement | VPS OVH (Ubuntu 26.04) — Nginx + systemd + PostgreSQL 18 local |
npm install
cp .env.example .env # renseigner DATABASE_URL et AUTH_SECRET
npm run db:push # crée le schéma
npm run db:seed # jeu de démonstration (facultatif)
npm run dev
| Variable | Rôle |
|---|---|
DATABASE_URL | Chaîne de connexion PostgreSQL (poolée en serverless) |
AUTH_SECRET | Secret de signature des sessions (32 caractères aléatoires minimum) |
SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASSWORD / SMTP_FROM | Notifications e-mail — si absentes, seules les notifications in-app sont produites |
NEXT_PUBLIC_APP_URL | URL publique, utilisée dans les liens des e-mails |
Après npm run db:seed — mot de passe commun Demo1234, sauf l'administrateur :
| Compte | Rôle |
|---|---|
[email protected] | Administrateur (tous projets) |
[email protected] | Chef de projet |
[email protected] | Technicien IT |
[email protected] | Superviseur (client) |
[email protected] | Utilisateur standard (client) |
[email protected] | Compte en attente de validation |
L'adresse et le mot de passe de l'administrateur se définissent par
SEED_ADMIN_EMAILetSEED_ADMIN_PASSWORDau moment du seed : aucun mot de passe réel n'est stocké dans le dépôt.Sans jeu de démonstration, le tout premier compte créé via le formulaire d'inscription devient automatiquement administrateur : sans lui, aucune inscription ne pourrait être validée.
INC-xxxx),
évolution (EVO-xxxx), nouvelle demande (DEM-xxxx). Numérotation unique par type.Visibilité appliquée (§2.5) :
| Rôle | Tickets visibles | Planning |
|---|---|---|
| Membre | uniquement ceux qu'il a créés, dont il suit l'avancement | lecture seule + commentaires |
| Superviseur | tous ceux du projet, avec arbitrage des évolutions | lecture seule + commentaires |
| Technicien IT | ceux qui lui sont assignés et la file non assignée à qualifier | lecture |
| Chef de projet | tous ceux du projet | création / modification complète |
| Administrateur | tous, tous projets | tous les plannings |
Tickets par type, par statut, par sévérité et par module ; délai moyen de traitement ; taux de respect des SLA ; pipeline des évolutions et nouvelles demandes façon backlog ; avancement global et par phase ; tâches en retard ; satisfaction moyenne ; exports CSV et impression PDF.
Section « Contact » sur la page d'accueil (FR/EN) : prénom, nom, e-mail, société, téléphone, objet et message.
Les envois sont stockés en base (ContactMessage) avec l'IP et le user-agent, protégés par un champ leurre
anti-robot et un garde-fou de 5 messages par heure et par adresse. Chaque message notifie les administrateurs.
L'écran /app/admin/contacts (réservé à l'administrateur) liste les messages, les filtre par statut
(nouveau, lu, traité, archivé), permet d'ouvrir un message — ce qui le marque lu —, d'y ajouter une note
interne, de répondre par e-mail, de le marquer traité ou archivé, de le supprimer et d'exporter le tout en CSV.
Le nombre de nouveaux messages apparaît dans la navigation.
Notification à chaque changement de statut significatif, à chaque nouveau commentaire (hors note interne), à l'affectation d'un utilisateur à un projet et à l'arrivée d'une inscription à valider. Canal in-app systématique, e-mail en complément si SMTP est configuré.
SameSite=Lax, Secure en production ; mots de passe hachés (bcrypt) ;
message d'erreur de connexion identique que le compte existe ou non (pas d'énumération de comptes).AuditLog (connexion, création de projet, transitions, droits).Le cahier des charges laisse plusieurs points ouverts ; voici les choix retenus, tous réversibles :
@media print dédiées) plutôt que par un
moteur PDF serveur ; le Gantt s'exporte en PNG haute définition.prisma/schema.prisma modèle de données (utilisateurs, projets, tickets, planning, risques, audit)
prisma/seed.ts jeu de démonstration (planning du §9 + tickets des 3 circuits)
src/app/ pages (accueil publique + espace de travail) et routes API
src/components/landing/ page d'accueil issue du design ServiceDesk360
src/components/app/ composants de l'espace de travail (Gantt, tickets, administration)
src/lib/ règles métier : workflow, RBAC, SLA, planning, notifications, audit
src/app/design-system.css système de design « Modernist » (tokens + composants)