sync public allowlist from private myoffice
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
# MyOffice
|
||||
|
||||
**Layers**
|
||||
Frontend <-> Backend <-> Services <-> Repositories <-> Database
|
||||
|
||||
*1. MyOffice.SPA*
|
||||
Frontend layer
|
||||
Angular
|
||||
|
||||
*2. MyOffice.Web*
|
||||
Backend layer
|
||||
ASP Core
|
||||
|
||||
*3. MyOffice.Data.Services*
|
||||
Services layer
|
||||
|
||||
*5. MyOffice.Data.Models*
|
||||
Models
|
||||
|
||||
*6. MyOffice.Data.Repositories*
|
||||
Database layer
|
||||
|
||||
*7. MyOffice.DbContext*
|
||||
AppDbContext
|
||||
EntityFramework Core
|
||||
|
||||
*8. MyOffice.Migrations.Postgres*
|
||||
Postgres Migrations
|
||||
|
||||
*9. MyOffice.Migrations.Sqlite*
|
||||
Sqlite Migrations
|
||||
|
||||
|
||||
**DataBase**
|
||||
1. SQLite
|
||||
2. PostgreSql
|
||||
3. MS SQL
|
||||
|
||||
**Develompent**
|
||||
1. Local IIS
|
||||
2. Express IIS
|
||||
|
||||
**Authentication & Authorization**
|
||||
|
||||
1. OpenIddict (replaces IdentityServer4)
|
||||
2. Custom UserStore + Identity V3 password hashes (legacy hashes rehashed on login)
|
||||
3. SPA: email/password via ROPC (kept); Authorization Code + PKCE configured for interactive OIDC
|
||||
4. Login with Google / Auth0 (`external` grant)
|
||||
5. Details: [docs/AUTH.md](docs/AUTH.md), refactoring: [docs/REFACTORING_PLAN.md](docs/REFACTORING_PLAN.md)
|
||||
|
||||
**Build & Deploy**
|
||||
1. Build with .bat
|
||||
2. Deploy to Linux
|
||||
|
||||
**Get started**
|
||||
1. Restore / build: `dotnet build MyOffice.Web/MyOffice.Web.csproj`
|
||||
2. SPA: `cd MyOffice.SPA && npm install && npm start` (default http://localhost:4300)
|
||||
3. Set startup project to `MyOffice.Web`, run (API default http://localhost:9100)
|
||||
4. Ensure `FrontEnd:Host` matches the SPA origin (`appsettings.json`)
|
||||
5. Tests: `dotnet test MyOffice.Tests/MyOffice.Tests.csproj`
|
||||
6. Empty DB is auto-filled with demo users (rates at Jan 1, sample accounts/items/motions):
|
||||
- `user_UAH@user_UAH.userUAH` / `user_UAH`
|
||||
- `user_USD@user_USD.userUSD` / `user_USD`
|
||||
- `user_EUR@user_EUR.userEUR` / `user_EUR`
|
||||
|
||||
**add site to IIS**
|
||||
1. add
|
||||
Site name:myproject
|
||||
Physical path:...\MyProject\MyProject.Web
|
||||
Port:9100
|
||||
2. Select 'IIS', Run Backend (F5)
|
||||
|
||||
**Settings**
|
||||
1. launchSettings.json
|
||||
2. appsettings
|
||||
appsettings.json
|
||||
appsettings.Development.json
|
||||
appsettings.Production.json
|
||||
3. Optional: `AutoMapper:LicenseKey` (or env `AUTOMAPPER_LICENSE_KEY`) — free Community key from https://automapper.io if under ~$5M revenue. Empty works; you only get license warning logs.
|
||||
|
||||
**External providers**
|
||||
1. Auth0
|
||||
appsettings ExternalProviders:Auth0
|
||||
2. Google
|
||||
appsettings ExternalProviders:Google
|
||||
|
||||
**PowerShell scripts**
|
||||
1. use 'Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass' to allow run *.ps1
|
||||
2. params.txt
|
||||
2.1. publish_folder=_Published (folder to publish)
|
||||
2.2. linux_user=root (linux user)
|
||||
2.3. linux_host=192.168.1.215 (linux host)
|
||||
2.4. linux_folder=/var/www/MyProject (folder in linux)
|
||||
|
||||
**Build**
|
||||
1. .\build.ps1
|
||||
1.1. '.\build.ps1' - build Backend + Frontend
|
||||
1.2. '.\build.ps1 dotnet' build Backend
|
||||
1.3. '.\build.ps1 spa' build Frontend
|
||||
|
||||
**Docker demo** (SPA + API + Postgres + pgAdmin)
|
||||
1. `cd Docker` then `.\build.ps1` (defaults :32080 / :32081 / :32082)
|
||||
2. After code changes: `.\build.ps1 rebuild` (or `.\build.ps1 reset` to wipe DB + re-seed)
|
||||
3. Details: [Docker/README.md](Docker/README.md)
|
||||
|
||||
**Proxmox** (Gitea public scripts + release artifact)
|
||||
1. Maintainer: `.\proxmox\publish.ps1 -Tar` → `.\proxmox\release.ps1` → `.\proxmox\sync-public.ps1 -Push` (or Gitea Actions)
|
||||
2. User on Proxmox: set `GITEA_URL` / `GITEA_OWNER` / `REPO_RAW_BASE`, run `myoffice.sh` (see [proxmox/README.md](proxmox/README.md))
|
||||
3. Proxy nginx to `http://<ct-ip>:9100`
|
||||
4. Lab SSH (no Gitea): `.\proxmox\deploy.ps1 -TargetHost <ct-ip>`
|
||||
Reference in New Issue
Block a user