{"id":51520629,"url":"https://github.com/essedev/doppia.os","last_synced_at":"2026-07-08T15:03:28.620Z","repository":{"id":152709225,"uuid":"482359873","full_name":"essedev/doppia.os","owner":"essedev","description":"Experimental web app aiming to recreate a desktop-like experience right in your browser.","archived":false,"fork":false,"pushed_at":"2025-04-30T21:02:52.000Z","size":244,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T12:02:32.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://doppiaos.netlify.app/","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/essedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-16T20:58:21.000Z","updated_at":"2025-04-30T21:02:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"96501ea0-03da-4060-ab48-72c3d6fc6698","html_url":"https://github.com/essedev/doppia.os","commit_stats":null,"previous_names":["novakoder/doppia.os","essedev/doppia.os","essedotdev/doppia.os"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/essedev/doppia.os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essedev%2Fdoppia.os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essedev%2Fdoppia.os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essedev%2Fdoppia.os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essedev%2Fdoppia.os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/essedev","download_url":"https://codeload.github.com/essedev/doppia.os/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essedev%2Fdoppia.os/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35268561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-08T15:03:27.729Z","updated_at":"2026-07-08T15:03:28.615Z","avatar_url":"https://github.com/essedev.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# doppia.os\n\ndoppia.os è un'interfaccia web dinamica ispirata a un piccolo sistema operativo, sviluppata con SvelteKit e Cloudflare Workers. Offre finestre interattive per le sezioni **Work In Progress**, **About**, **Projects** e **Contact**, con metriche in tempo reale e un'esperienza utente curata.\n\n## Caratteristiche principali\n\n- Schermata di caricamento con transizioni fade-out\n- Barra di navigazione responsive\n- Finestre dinamiche configurate via **Svelte store**\n- Componente **Stats** per visualizzare dimensioni e coordinate di ogni finestra\n- Banner “Fork me” visibile solo in ambiente di produzione\n- Hosting e funzioni serverless con **Cloudflare Workers** e **Pages**\n- Controlli di qualità con **Prettier** ed **ESLint**\n\n## Tecnologie e dipendenze\n\n- **Svelte 5** e **SvelteKit**\n- **TypeScript**\n- **Vite** come bundler\n- **Cloudflare Workers** (adapter `@sveltejs/adapter-cloudflare`)\n- **Wrangler** per il deploy\n- **Prettier** e **ESLint** per formattazione e linting\n\n## Requisiti\n\n- Node.js \u003e= 22.14.0 (specificato in `wrangler.jsonc`)\n- npm o pnpm\n- Account Cloudflare con CLI Wrangler configurato\n\n## Installazione\n\n```bash\n# Clona il repository\ngit clone https://github.com/tuo-username/doppiaos.git\ncd doppiaos\n\n# Installa le dipendenze (npm o pnpm)\nnpm install\n# oppure\npnpm install\n```\n\n## Comandi disponibili\n\n- `npm run dev` / `pnpm dev`  \n  Avvia il server di sviluppo (Hot Module Replacement)\n- `npm run build` / `pnpm build`  \n  Compila l'applicazione in `build` per la produzione\n- `npm run preview` / `pnpm preview`  \n  Preview locale della build di produzione\n- `npm run check`  \n  Sincronizza tipi SvelteKit e lancia `svelte-check`\n- `npm run check:watch`  \n  Watch mode per `svelte-check`\n- `npm run lint`  \n  Controlla formattazione e lint con Prettier ed ESLint\n- `npm run format`  \n  Format del codice con Prettier\n\n## Configurazione\n\n- **wrangler.jsonc**: definisce la directory di output (`.svelte-kit/cloudflare`), la compatibility date e la variabile `NODE_VERSION`.\n- Variabili sensibili: utilizzare `wrangler secret put \u003cNOME\u003e` per aggiungere secret nel progetto.\n- Ambiente di produzione: la costante `PUBLIC_NODE_ENV` controlla la visibilità del banner “Fork me”.\n\n## Struttura del progetto\n\n```bash\n/\n├─ README.md                 # Questo file\n├─ wrangler.jsonc            # Configurazione Cloudflare Wrangler\n├─ svelte.config.js          # Configurazione SvelteKit (adapter-cloudflare)\n├─ vite.config.ts            # Configurazione Vite\n├─ package.json              # Script e dipendenze\n├─ tsconfig.json             # Configurazione TypeScript\n├─ src/\n│  ├─ app.html               # Template HTML principale\n│  ├─ app.css                # Stili globali\n│  ├─ lib/\n│  │  ├─ components/\n│  │  │  ├─ forkme.svelte    # Banner “Fork me” (prod)\n│  │  │  ├─ navbar.svelte    # Barra di navigazione\n│  │  │  ├─ stats.svelte     # Componente metriche finestre\n│  │  │  ├─ window.svelte    # Componente finestra generica\n│  │  │  └─ windows/         # Contenuti delle finestre:\n│  │  │     ├─ wip.svelte\n│  │  │     ├─ about.svelte\n│  │  │     ├─ projects.svelte\n│  │  │     └─ contact.svelte\n│  │  └─ stores/\n│  │     └─ windows.ts       # Store Svelte per gestione finestre\n│  └─ routes/\n│     └─ +page.svelte        # Pagina principale (loading + windows)\n└─ static/\n   └─ favicon.png\n```\n\n## Componenti principali\n\n1. **Loading Screen** (`+page.svelte`): gestito tramite `onMount` e transizioni `fade` di Svelte.\n2. **Navbar** (`navbar.svelte`): navigazione superiore.\n3. **Window Manager**:\n   - Store `windowsStore` definito in `src/lib/stores/windows.ts`.\n   - Componente `Window` genera finestre basate su dati e proprietà.\n4. **Stats** (`stats.svelte`): selezione della finestra attiva e visualizzazione di larghezza, altezza e coordinate.\n5. **Forkme** (`forkme.svelte`): link al repository (solo produzione).\n\n## Deployment\n\n1. Effettua il login a Cloudflare:\n\n   ```bash\n   wrangler login\n   ```\n\n2. (Opzionale) Aggiungi secret di ambiente:\n\n   ```bash\n   wrangler secret put \u003cNOME_SECRET\u003e\n   ```\n\n3. Deploy su Cloudflare Pages:\n\n   ```bash\n   wrangler pages publish .svelte-kit/cloudflare --project-name \u003cnome_progetto\u003e\n   ```\n\n4. Oppure deploy come Worker:\n\n   ```bash\n   wrangler publish\n   ```\n\n## Contribuire\n\nLe pull request sono benvenute! Apri una issue per segnalare bug o proporre nuove features.\n\n## Licenza\n\nQuesto progetto è rilasciato sotto licenza **MIT**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessedev%2Fdoppia.os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fessedev%2Fdoppia.os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessedev%2Fdoppia.os/lists"}