Skip to main content
Technical ManualLooking for step-by-step instructions? In the User Manual: Finding Your Way Around

Getting Started

This page takes you from a fresh clone to a running Al-Mohaseb business site.

Prerequisites​

ToolVersionWhy
.NET SDK10.0.100 or later (global.json rolls forward)Builds and runs the solution
Node.js20 or laterOnly to build this documentation site

Preview packages come from the Orchard Core and CrestApps Cloudsmith feeds, which NuGet.config already lists with package source mapping. No extra feed setup is needed.

Build, test and run​

From the repository root:

dotnet build CrestApps.Almohaseb.slnx -c Debug
dotnet test --solution CrestApps.Almohaseb.slnx
dotnet run --project src/Startup/CrestApps.Almohaseb.Web

The host listens on https://localhost:5101 and http://localhost:5100 (see Properties/launchSettings.json).

Set up a business tenant​

The first request opens the Orchard Core setup screen.

  1. Enter a Site name.
  2. Choose a Recipe. For a business, pick Almohaseb - Convenience store (almohaseb-business-cstore) or Almohaseb - Service business (almohaseb-business-service). See Setup recipes for what each one enables.
  3. Pick the time zone of the business, for example America/Detroit. Business dates are computed in this time zone.
  4. Choose SQLite as the database for local development.
  5. Enter the administrator's user name, email and password, and finish setup.

After setup, sign in at /Admin. Books > Chart of accounts, Settings > Business profile and Tools > Jobs are available. The User Manual explains each screen.

Start over

Stop the host and delete src/Startup/CrestApps.Almohaseb.Web/App_Data to get a fresh setup screen.

Publishing

App_Data holds your local sites: tenants.json, the SQLite databases and the data protection keys. Orchard Core publishes App_Data with the application, so the web project removes it from dotnet publish (target AlmohasebExcludeLocalSitesFromPublish): a publish never carries local sites, and publishing into a folder that already runs never overwrites its sites. A server keeps its own App_Data.

Set up the platform tenant​

A hosted deployment runs the Default tenant as the platform, which manages the business and firm tenants. Set up the Default tenant with Almohaseb - Platform (almohaseb-platform), then create business tenants from Tenants in its admin. See Architecture for how firms and businesses map to tenants.

Solution layout​

src/Abstractions/CrestApps.Almohaseb.<Area>.Abstractions contracts and primitives with no Orchard dependency
src/Core/CrestApps.Almohaseb.<Area>.Core models, indexes, stores, services, static permissions
src/Modules/CrestApps.Almohaseb.<Area> Orchard wiring: Manifest, Startup, drivers, controllers, views, migrations, recipes
src/Startup/CrestApps.Almohaseb.Web the host; references every module
src/CrestApps.Almohaseb.Docs this documentation site
tests/CrestApps.Almohaseb.Tests unit and module tests

Architecture explains the rules behind this layout.

Run the documentation site​

cd src/CrestApps.Almohaseb.Docs
npm install
npm start

The site opens at http://localhost:3000 and reloads as you edit. Search only works on a production build (npm run build, then npm run serve). Before you open a pull request that touches the docs, run npm run check:manuals and npm run build. The contributor guide is src/CrestApps.Almohaseb.Docs/README.md.