This project is a modern, headless blog setup utilizing Umbraco CMS for content management and SvelteKit for the frontend presentation.
openapi-typescript to generate frontend models directly from the Umbraco Swagger definition.The backend is located in the Application.Cms directory. It uses a SQLite database out of the box for easy local development.
cd Application.Cms
dotnet build
dotnet run
https://localhost:44356/umbracohttps://localhost:44356/umbraco/swagger(Note: The exact port might differ based on your local launchSettings.json. Check the terminal output when running the backend.)
The frontend project is located in the Frontend directory.
cd Frontend
npm install
npm run dev
The frontend will start a Vite development server (typically at http://localhost:5173). Note that it expects the Umbraco backend to be running to fetch content and structure.
npm run dev: Starts the Vite development server.npm run build: Builds the SvelteKit app for production.npm run generate-types: Generates TypeScript interfaces from the running Umbraco Swagger endpoint. Ensure Umbraco is running locally on port 44356 before executing this command.npm run storybook: Starts the Storybook development server on port 6006.npm run build-storybook: Builds the Storybook static site.npm run test:storybook: Runs Vitest for Storybook component tests.npm run format: Formats code using Prettier.npm run generate-types in the Frontend directory to update your src/lib/types/umbraco.d.ts file based on the generated Swagger definitions.Frontend/src/lib/components..stories.ts files.