Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
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).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)