upperdo/backoffice-template
39.7
Weak · 21 September 2026
6.2k
lines of production code
TypeScript
primary language
4
measurements over time
What this system is
This system is a SvelteKit-based web application that provides a backoffice dashboard for managing users, sales, and account settings. It integrates with Appwrite for authentication and serverless functions, while leveraging Shadcn/Svelte and Tailwind CSS for the user interface. The application supports offline functionality and containerized deployment via Docker.
Features
Add UI component library and application configuration
The application now includes a comprehensive set of reusable UI components (including accordion, alert, avatar, badge, button, card, checkbox, collapsible, context menu, dialog, and dropdown menu) built on top of the bits-ui library, alongside a new configuration system that loads environment-specific settings for Appwrite, Stripe, and site metadata from a central config file.
src/lib, src/lib/use-cases/errors · high confidence
Add authentication routes and layout for login and logout
New files are introduced to support user authentication: a layout component for the auth section, a login page with server-side handling for email/password credentials and redirection to the dashboard, and a logout action that clears session cookies and redirects to the login page.
src/routes/(auth) · medium confidence
Add backoffice dashboard page
A new dashboard route has been introduced for the backoffice area. The server-side load function is now in place to fetch data, and the Svelte component renders a DashboardPage widget, providing the initial structure for the backoffice dashboard view.
src/routes/(backoffice)/dashboard · medium confidence
Add settings pages for profile, account, and security
The backoffice settings area now includes dedicated pages for managing a user's profile, account details, and security preferences. The settings layout provides a sidebar navigation linking to /settings/profile, /settings/account, and /settings/security. Each subpage includes a server-side load function that initializes a form using sveltekit-superforms, and a Svelte page component that renders the corresponding form component (ProfileForm, AccountForm) within a consistent layout.
src/routes/(backoffice)/settings · high confidence
Added Appwrite functions for user lifecycle management
New Appwrite serverless functions have been introduced to handle user initialization, deletion, and action control. The \initUserCollection\ function creates a user document with default roles and permissions upon registration, while \onDeleteUser\ removes the corresponding document when a user is deleted. The \userActionControl\ function provides a generic endpoint for managing user actions. These changes implement the backend logic for user data synchronization and cleanup within the Appwrite ecosystem.
appwrite/functions/initUserCollection, appwrite/functions/onDeleteUser, appwrite/functions/userActionControl · medium confidence
Added Appwrite integration, Docker support, and Shadcn/Svelte UI setup
The application now includes full support for the Appwrite backend, with environment variables and a login script to configure the Appwrite endpoint and authentication. A Dockerfile and docker-compose.yml have been added to containerize the application for both development and production environments. Additionally, the project has been initialized with Shadcn-Svelte and Tailwind CSS, providing a new UI component library and styling framework. The SvelteKit configuration has also been updated to support the new preprocessing setup.
(repo-wide) · high confidence
Added backoffice layout and sales page
Introduced a new backoffice route structure, including a server-side layout that enforces authentication by redirecting unauthenticated users, and a client-side layout that renders the main navigation, search, and user navigation components. Additionally, a new sales page was added to the backoffice section.
src/routes/(backoffice) · high confidence
Added dashboard and settings account/profile forms
Introduced new Svelte components for the dashboard and user settings. The dashboard now includes a main navigation bar, a sidebar, and an overview page displaying key metrics (revenue, subscriptions, sales, active users) alongside an overview chart and recent sales list. Additionally, new forms for managing account details (name, email) and public profile information (username, bio, website) have been added to the settings section.
src/lib/features/dashboard · high confidence
Added user authentication form component
A new Svelte component for the user authentication form has been introduced. This component renders email and password input fields and a submit button, integrating with SvelteKit's form handling via the 'enhance' function. It supports a loading state and accepts a custom class for styling.
src/lib/features/authentication · high confidence
Adds offline support and customer backoffice page
The application now supports offline functionality through a new service worker that caches build assets and files, enabling the app to work without a network connection. Additionally, a new Customers page has been added to the backoffice routes, and the server-side authentication hook has been updated to handle Appwrite sessions and redirect unauthenticated users to the login page.
src · high confidence
Behavioural changes
1 commit (0 fixes) modifying static
A change to existing behaviour in static — 1 commit, 1 file.
static · low confidence · unverified
Added server-side authentication and layout logic for routes
The application now handles server-side rendering (SSR) for authentication by introducing a new layout file (+layout.server.ts) that processes Appwrite sessions and sets headers for client-side storage. The corresponding client-side layout (+layout.svelte) initializes the account store and manages header storage, while the default page template has been cleared.
src/routes · high confidence
Test coverage
Removal of Playwright end-to-end test for the index page
The Playwright end-to-end test that verified the presence of the 'Welcome to SvelteKit' heading on the index page has been removed from the test suite.
tests · high confidence
Dependencies
Added Appwrite and UI library dependencies
The project now includes the Appwrite SDK (versions 9.0.0 and 13.0.1) for backend integration, alongside UI libraries such as bits-ui, lucide-svelte, and tailwind-variants, enabling new frontend and backend capabilities.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 39 → 40 (+0.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 91 → 67 (-23.8)
- Architecture 43 → 56 (+12.7)
- Maturity 75 → 75 (+0.0)
- Readiness 21 → 21 (+0.1)
- Security 75 → 78 (+3.2)
- Accessibility 47 → 48 (+0.5)
Resolved (43)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (appwrite/functions/initUserCollection/package-lock.json)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (appwrite/functions/initUserCollection/package-lock.json)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 23 more
New (56)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (appwrite/functions/initUserCollection/package-lock.json)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [CVE redacted] (pnpm-lock.yaml)
- High CVE: [CVE redacted] (pnpm-lock.yaml)
- High CVE: [CVE redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (appwrite/functions/initUserCollection/package-lock.json)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 36 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
upperdo/backoffice-template was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 6b668f9377629b80364a76c5327a652471a3154f — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.