74 lines
3.0 KiB
Markdown
74 lines
3.0 KiB
Markdown
# Final Project Summary & Deployment Guide
|
|
|
|
## Recent Changes (Last 3 Git Pushes)
|
|
|
|
Here is a summary of the most recent activity on the repository:
|
|
|
|
1. **`e3e726d`** - Timo, 3 minutes ago
|
|
* **Message**: `feat: Initialize BizMatch application with core UI components, routing, listing pages, backend services, migration scripts, and vulnerability management.`
|
|
* **Impact**: Major initialization of the application structure, including core features and security baselines.
|
|
|
|
2. **`e32e43d`** - Timo, 10 hours ago
|
|
* **Message**: `docs: Add comprehensive deployment guide for BizMatch project.`
|
|
* **Impact**: Added documentation for deployment procedures.
|
|
|
|
3. **`b52e47b`** - Timo, 10 hours ago
|
|
* **Message**: `feat: Initialize Angular SSR application with core pages, components, and server setup.`
|
|
* **Impact**: Initial naming and setup of the Angular SSR environment.
|
|
|
|
---
|
|
|
|
## Deployment Instructions
|
|
|
|
### 1. Prerequisites
|
|
* **Node.js**: Version **20.x** or higher is recommended.
|
|
* **Package Manager**: `npm`.
|
|
|
|
### 2. Building for Production (SSR)
|
|
The application is configured for **Angular SSR (Server-Side Rendering)**. You must build the application specifically for this mode.
|
|
|
|
**Steps:**
|
|
1. Navigate to the project directory:
|
|
```bash
|
|
cd bizmatch
|
|
```
|
|
2. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
3. Build the project:
|
|
```bash
|
|
npm run build:ssr
|
|
```
|
|
* This command executes `node version.js` (to update build versions) and then `ng build --configuration prod`.
|
|
* Output will be generated in `dist/bizmatch/browser` and `dist/bizmatch/server`.
|
|
|
|
### 3. Running the Application
|
|
To start the production server:
|
|
|
|
```bash
|
|
npm run serve:ssr
|
|
```
|
|
* **Entry Point**: `dist/bizmatch/server/server.mjs`
|
|
* **Port**: The server listens on `process.env.PORT` or defaults to **4200**.
|
|
|
|
### 4. Critical Deployment Checks (SSR & Polyfills)
|
|
**⚠️ IMPORTANT:**
|
|
The application uses a custom **DOM Polyfill** to support third-party libraries that might rely on browser-specific objects (like `window`, `document`) during server-side rendering.
|
|
|
|
* **Polyfill Location**: `src/ssr-dom-polyfill.ts`
|
|
* **Server Verification**: Open `server.ts` and ensure the polyfill is imported **BEFORE** any other imports:
|
|
```typescript
|
|
// IMPORTANT: DOM polyfill must be imported FIRST
|
|
import './src/ssr-dom-polyfill';
|
|
```
|
|
* **Why is this important?**
|
|
If this import is removed or moved down, you may encounter `ReferenceError: window is not defined` or `document is not defined` errors when the server tries to render pages containing Leaflet maps or other browser-only libraries.
|
|
|
|
### 5. Environment Variables & Security
|
|
* Ensure all necessary environment variables (e.g., Database URLs, API Keys) are configured in your deployment environment.
|
|
* Since `server.ts` is an Express app, you can extend it to handle specialized headers or proxy configurations if needed.
|
|
|
|
### 6. Vulnerability Status
|
|
* Please refer to `FINAL_VULNERABILITY_STATUS.md` for the most recent security audit and known issues.
|