Documentation Index
Fetch the complete documentation index at: https://docs.aspfox.com/llms.txt
Use this file to discover all available pages before exploring further.
Download the template package
After purchase you receive a download link via email. Download the
.nupkg file to your machine. The file is named AspFox.Templates.1.x.x.nupkg (version number varies).Keep the file somewhere accessible — you will reference its path in the next step.Install the template
From the directory where you saved the Replace
.nupkg, run:1.x.x with the actual version in the filename. This registers the aspfox template in your local dotnet new catalog. Run it once per machine. To update to a newer version, download the new .nupkg and run this command again.Scaffold your project
Replace Run this from whatever directory you want the project created in.Available scaffold options:
Example with options:
YourProjectName with your actual project name (PascalCase, no spaces). This renames every namespace, file, and assembly reference automatically.| Option | Default | Description |
|---|---|---|
--AdminEmail | admin@example.com | Email address for the seeded admin account |
--IncludeReactFrontend | true | Include the React + TypeScript frontend |
--IncludeTests | true | Include the xUnit test project |
Configure environment variables
.env in your editor. At minimum, the following must be set before the application will start:DATABASE_URL— filled in by Docker Compose if you use the default setupREDIS_URL— sameJWT_PRIVATE_KEYandJWT_PUBLIC_KEY— see the next step
Generate JWT RSA keys
AspFox uses RS256 (asymmetric) JWT signing. You need to generate a 4096-bit RSA key pair and base64-encode both the private and public keys.Copy the base64 output of the private key into
.env as JWT_PRIVATE_KEY, and the public key as JWT_PUBLIC_KEY. Both values are single long strings with no line breaks.Generate new keys for every environment. Do not reuse your local development keys in production.
Start services
dotnet watch), and the React frontend (with Vite HMR).Apply migrations and seed the database
In a separate terminal (services must be running):
make migrate applies all pending EF Core migrations to the PostgreSQL container. make seed creates the admin user and initial lookup data.Open the application
| What | URL |
|---|---|
| Frontend | http://localhost:5173 |
| API + Swagger | http://localhost:5000/swagger |
| Hangfire dashboard | http://localhost:5000/hangfire |
make seed):- Email: the value of
--AdminEmail(default:admin@example.com) - Password:
Admin123!
http://localhost:5173 with the admin credentials. You will be prompted to create your first workspace (tenant) if one does not already exist.The frontend runs at port 5173 (Vite dev server) and the backend at port 5000. Both must be running for the full application to work. The frontend proxies API requests to port 5000 automatically — you do not need to configure CORS for local development.
Next steps
Configure Stripe
Set up Stripe test mode to develop billing features locally.
Configure Email
Connect Resend to test transactional email locally.
Project Structure
Understand the codebase layout before adding your first feature.
Adding a Feature
Complete walkthrough: domain entity to React page.