School Finance System 8.3.0 — Namecheap cPanel deployment

IMPORTANT
- This package is for a new test installation. It deliberately contains no .env file, no database, and no backups.
- Do not upload the original db/custom.db. Use fake test data until access and permissions have been reviewed.
- The app creates a new SQLite database in the private db folder under the Application Root.

1. Create a test subdomain in cPanel (for example test.your-domain.com) and make sure SSL/HTTPS is enabled.
2. In cPanel > Setup Node.js App, create an application:
   - Node.js version: 22.x (or the newest available 22.x)
   - Mode: Production
   - Application Root: a private folder such as school-finance-test, outside public_html
   - Application URL: the test subdomain
   - Startup File: server.js
3. Upload and extract this archive into the Application Root. Keep the db folder private and writable by the app.
4. In the Node.js App page, run NPM Install. In the application terminal, run:
   npx prisma generate
   npm run build
5. Add environment variable COOKIE_SECURE=true in the Node.js App settings. Do not set a fixed PORT; cPanel supplies it. The app creates and stores its own session key in the private db folder.
6. Start or restart the app from Setup Node.js App. Check the app log for the one-time initial setup key, then open the test subdomain and create the first system administrator. Save the recovery code shown after setup.
7. Test using fabricated students and payments only. Back up the private db folder before updates.

The Node.js launcher reads the PORT supplied by cPanel, runs database schema migration and health checks, and starts the production Next.js server. If the application log reports a memory/build limit, ask the hosting provider whether this account can build the project or use a VPS plan.
