No description
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| bun.lock | ||
| COOLIFY.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| metadata.json | ||
| package.json | ||
| portal-data.json | ||
| README.md | ||
| server.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||
Commercial Banking Balance Sheet & Financial Reporting Portal
A full-stack enterprise web application built for multi-branch balance sheet consolidation, trial balance ledger verification, automated accounting reconciliation, double-entry bookkeeping, and executive financial reporting.
🚀 Key Features
- Multi-Branch Operations: Head Office Admin, Branch Users, Maker-Checker authorization matrix.
- Server-Side Architecture: Express backend (
server.ts) handling state management, calculations, audit logging, and email dispatches. - PostgreSQL & Fallback Storage: Connects to PostgreSQL via
pgconnection pool with automatic fallback to JSON data persistence (/app/data/portal-data.json). - Containerized Deployment: Ready for Docker, Docker Compose, and Coolify self-hosting.
📁 Repository Structure & Key Configuration Files
| File | Description |
|---|---|
Dockerfile & dockerfile |
Multi-stage production container build (Vite client + Express CJS server). |
docker-compose.yml |
Full-stack orchestration (App container + PostgreSQL 16 container with configurable host port mapping). |
.dockerignore |
Defines context exclusions for slim Docker image builds. |
.env.example |
Template environment variables (DATABASE_URL, PORT, HOST_PORT, POSTGRES_HOST_PORT, DATA_PATH). |
COOLIFY.md |
Complete deployment guide for Coolify platform & managed databases. |
server.ts |
Express server entry point with PostgreSQL initialization and REST API routes. |
🛠️ Local Development & Running via Docker
1. Run via Docker Compose (With PostgreSQL & Configurable Host Ports)
docker-compose up --build -d
By default, the application will be accessible on host port http://localhost:8080 (mapped to internal container port 3000), and PostgreSQL on host port 5433 (mapped to internal container port 5432).
If host ports 3000 or 5432 are already used by another application, set custom host ports in .env:
HOST_PORT=8080
POSTGRES_HOST_PORT=5433
2. Run via Docker CLI
docker build -t balance-sheet-portal .
docker run -p 8080:3000 -v portal_data:/app/data balance-sheet-portal
3. Native Node.js Development
# Install dependencies
npm install
# Start development server (Express + Vite hot reload)
npm run dev
☁️ Deployment on Coolify
Refer to COOLIFY.md for step-by-step instructions on deploying via Docker Compose or Coolify Managed PostgreSQL.