Skip to content

Azm-Tech/cce-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

680 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCE — Circular Carbon Economy Knowledge Center

Client: Saudi Ministry of Energy — Sustainability & Climate Change Agency Status: Sub-projects 1–11 complete — foundation, data-domain, internal API, external API, admin CMS, web portal, knowledge maps, interactive city, smart assistant, app productionization + deployment + production infra, and Entra ID migration. See project plan.

A bilingual (Arabic RTL / English LTR) knowledge hub for the Circular Carbon Economy, meeting Saudi DGA UX and accessibility standards.

▶ Running the project

Full setup guide → docs/getting-started.md — clone-to-running in 10 minutes.

Short version:

git clone https://github.com/Azm-Tech/cce-platform.git && cd cce-platform
cp .env.example .env && cp .env.local.example .env.local
docker compose up -d                                                 # infra (SQL, Redis, Meilisearch, MailDev, ClamAV)
pnpm install --frozen-lockfile && dotnet restore backend/CCE.sln
dotnet run --project backend/src/CCE.Seeder -- --migrate --demo      # one-shot: migrate + seed demo data
# Then in separate terminals:
cd backend/src/CCE.Api.External && ASPNETCORE_ENVIRONMENT=Development dotnet run --urls=http://localhost:5001
cd backend/src/CCE.Api.Internal && ASPNETCORE_ENVIRONMENT=Development dotnet run --urls=http://localhost:5002
pnpm nx serve web-portal --port 4200
pnpm nx serve admin-cms  --port 4201

Then open http://localhost:4200 (public portal) and http://localhost:4201 (admin). Sign in via dev auth: hit http://localhost:5001/dev/sign-in?role=cce-user or http://localhost:5002/dev/sign-in?role=cce-admin.

Documentation

Stack

  • Backend: .NET 8 LTS, EF Core 8, SQL Server 2022 (Azure SQL Edge on arm64 — see ADR-0016), Redis 7, Meilisearch, MediatR, FluentValidation, Serilog, Swashbuckle, Sentry.
  • Frontend: Angular 19, Angular Material 18, Bootstrap 5 (grid + utilities only — see ADR-0003), ngx-translate, angular-auth-oidc-client, Nx 20, pnpm.
  • Identity: Microsoft Entra ID (multi-tenant, Microsoft.Identity.Web + Graph SDK) in prod; dev mode uses a header/cookie shim — see Sub-11 spec.
  • Local infra: Docker Compose (SQL, Redis, Meilisearch, MailDev, ClamAV).
  • Contracts: OpenAPI as single source of truth — ADR-0009.

Repository layout

Path Purpose
backend/ .NET 8 solution — Domain / Application / Infrastructure / Api.* / Integration.
frontend/ Nx workspace — Angular apps (web-portal, admin-cms) + libs.
contracts/ OpenAPI YAMLs (single source of truth between backend + frontend).
keycloak/ Realm export — reproducible dev IdP state.
loadtest/ k6 scripts + thresholds.
security/ Suppression policies + security README.
scripts/ Repo-wide tooling (check-contracts-clean.sh, etc.).
docs/adr/ Architecture Decision Records (0001–0018).
docs/subprojects/ Per-sub-project briefs (01–09).
project-plan/ Specs and phase plans for the brainstorm → spec → plan workflow.
.github/workflows/ CI pipelines: build, test, OpenAPI drift, security scans, SBOM.

Architecture Decision Records

ADR Subject
0001 Decomposition into 9 sub-projects
0002 Angular over React
0003 Material + Bootstrap grid + DGA tokens
0004 Single repo, backend + frontend workspaces
0005 Local-first Docker Compose
0006 Keycloak as ADFS stand-in
0007 TDD policy
0008 Version pins
0009 OpenAPI as contract source
0010 Sentry for error tracking
0011 Security scanning pipeline
0012 A11y + load thresholds
0013 Source-generated permissions
0014 Clean Architecture layering
0015 OIDC + PKCE + BFF cookies
0016 Azure SQL Edge for arm64 dev
0017 Serilog file sink as dev SIEM stub
0018 clamav-debian for arm64

License

TBD — to be added per ministry procurement guidance.

About

CCE — Carbon Circular Economy platform: multi-tenant Angular 19 web/admin apps + .NET 8 minimal-API backend (knowledge center, community, world map, scenarios, assistant)

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors