This guide walks you through everything needed to get Porfolio & Blog CMS running on your local machine. By the end you will have a fully functional Blazor Server application backed by a SQLite database, with an admin account ready to use — all in under five minutes.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Andrespeerez/porfolio-blog/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following are installed:- .NET 10 SDK — the project targets
net10.0. Verify withdotnet --version. - dotnet-ef tool (version 10.0.9) — required to apply EF Core database migrations. Install it globally with:
dotnet-tools.json), run dotnet tool restore after cloning instead.
Running the App
Restore dependencies
Restore all NuGet packages declared in
porfolio-blog.csproj. This includes EF Core 10, the SQLite provider, EF Core Tools, and ASP.NET Core Identity.Apply database migrations
Run EF Core migrations to create the After this step a
blog.db SQLite file in the project root. The Default connection string in appsettings.json points to this file (Data Source=blog.db).blog.db file will appear in the porfolio-blog/ directory.Run the application
Start the Blazor Server application using the .NET CLI. The default launch profile uses HTTP.To use HTTPS instead, specify the profile explicitly:
Open the app in your browser
Navigate to http://localhost:5058 (HTTP) or https://localhost:7140 (HTTPS) in your browser. You should see the home page of the portfolio site.In Development mode,
Use these credentials at /login to access the protected /admin page.
AdminUserSeeder automatically creates an admin account on first run using the credentials defined in appsettings.Development.json:| Field | Value |
|---|---|
admin@andresblog.com | |
| Password | Admin123! |
Next Steps
Architecture
Understand how the five Clean Architecture layers interact and where to add new features.
Authentication
Learn how cookie authentication and the admin seeder work together to protect the admin area.