Testing application.

Efren Yevale Varela 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
.vscode de93a8a123 Initial commit 1 bulan lalu
messages e83d6bd411 Added i18n 1 bulan lalu
project.inlang e83d6bd411 Added i18n 1 bulan lalu
src 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
static de93a8a123 Initial commit 1 bulan lalu
.gitignore 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
.npmrc de93a8a123 Initial commit 1 bulan lalu
AGENTS.md 4e51ed9cb1 Updated documentation 1 bulan lalu
LICENSE.md f2d8a2b015 Updated documentation 1 bulan lalu
README.md 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
config.json.example 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
jsconfig.json de93a8a123 Initial commit 1 bulan lalu
package.json 8f55caf389 Added configuration file and updated documentation 1 bulan lalu
pnpm-lock.yaml deca848a0c Updated dependencies 1 bulan lalu
pnpm-workspace.yaml de93a8a123 Initial commit 1 bulan lalu
vite.config.js 8f55caf389 Added configuration file and updated documentation 1 bulan lalu

README.md

testing-proxy

A modern SvelteKit application with Svelte 5 runes, Tailwind CSS, and Flowbite components.

Setup

Install dependencies:

pnpm install

Configuration

Copy the example configuration to create your local config.json:

cp config.json.example config.json

This file contains settings for database and server configuration. See Configuration below for available options.

Development

Start the dev server on http://localhost:3000:

npm run dev

# Auto-open in browser
npm run dev -- --open

Hot module reload enabled by default.

Build & Deploy

Create a production build:

npm run build

Preview the production build locally:

npm run preview

Production output goes to /build/ (configured for Node.js via @sveltejs/adapter-node).

Project Structure

  • src/routes/ — SvelteKit filesystem routes
  • src/lib/ — Reusable components and utilities (access via $lib alias)
  • src/app.html — HTML shell (dark mode enabled via class="dark")

Tech Stack

  • Framework: SvelteKit 2.63.0 with Svelte 5 (runes mode)
  • Styling: Tailwind CSS 4.3.0 via @tailwindcss/vite + Forms/Typography plugins
  • Components: Flowbite Svelte 1.33.1 + Flowbite Icons
  • Build Tool: Vite 8.0.16
  • Adapter: Node.js (@sveltejs/adapter-node)

Important Notes

Svelte 5 Runes (Mandatory)

All .svelte files use runes mode by default. Use:

  • $state() for reactive variables
  • $derived for computed values
  • $effect() for side effects
  • {#snippet} for component snippets (e.g., icon slots)

See Svelte 5 runes documentation.

Styling

  • Dark mode hardcoded in app.html (remove class="dark" from <html> to disable)
  • Use Tailwind utilities directly; no CSS Modules
  • Scoped styles available via <style> blocks in .svelte files

Internationalization (i18n)

The project uses Paraglide JS for i18n with:

  • Languages: English (en-US) and Spanish (es-MX)
  • Auto-localized Routes: URLs automatically prefixed with language code (e.g., /en/ or /es/)
  • Runtime API: Use getLocale(), setLocale(), and deLocalizeUrl() from $lib/paraglide/runtime.js
  • Messages: Locale-aware functions in $lib/paraglide/messages.js

All routes are automatically localized. No manual language handling needed.

Configuration Reference

The config.json file (copied from config.json.example) controls server and database settings:

Database Configuration

{
  "database": {
    "type": "sqlite3",
    "sqlite3": {
      "fileMustExist": false,
      "filename": "app.db",
      "readonly": false,
      "timeout": 5000,
      "performance": {
        "foreignKeys": true,
        "journalMode": "wal",
        "synchronous": 1,
        "tempStore": "memory"
      }
    }
  }
}
  • database.type — Database backend (currently sqlite3)
  • database.sqlite3.filename — Path to the SQLite database file
  • database.sqlite3.timeout — Query timeout in milliseconds
  • database.sqlite3.performance — Performance tuning options (WAL mode, foreign keys, etc.)

Links