Skip to content
silverstone-iPublic

About

NAP is a modular, multi-tenant ERP for managing projects, budgets, costs, vendors, accounts payable and receivable, the general ledger, intercompany transactions, and project-level cash flow and profitability. Its tenant-isolated architecture keeps each tenant’s data separate.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

NAP

NAP means Not Another Program or Next-generation Accounting Platform. It is a project-native, multi-company enterprise resource planning (ERP) system for construction workflows.

The core includes:

  • Multi-tenant infrastructure
  • Role-based access control
  • Master data
  • Projects and activities
  • Accounts payable and receivable
  • Double-entry accounting
  • Cash flow and profitability

Stack

  • PostgreSQL
  • Express
  • React
  • Node.js

Repository layout

Path Contents
apps/api/ Express backend-for-frontend and database maintenance commands. See its README.
apps/web/ React web client built with Vite. See its README.
packages/shared/ Transport contracts shared by the API and web client. See its README.
scripts/ License, release, and roadmap checks run by npm and continuous integration (CI). See its README.
docs/ Architecture, product requirements documents (PRDs), setup and design guides, roadmap, and branding.
.github/workflows/ CI, changelog check, roadmap check, and release on merge.
render.yaml Render Blueprint for the production API service.

Documentation

Architecture:

Requirements and delivery:

Setup guides:

Design guides:

The documentation is authoritative, except design guides, which are reference only.

Development

Install the Node version in .nvmrc, then npm ci. The development setup guide covers PostgreSQL, roles, and the private apps/api/.env file.

Command Purpose
npm run dev:api API on port 3000 with file watching.
npm run dev:web Vite dev server proxying /api to the API.
npm run db:setup:admin -- --env dev Create or verify the admin database and roles.
npm run db:migrate:admin -- --env dev Apply admin migrations and verify the contract.
npm run db:bootstrap -- --env dev Create the Napsoft tenant and its first login, which gets platform_admin when Napsoft tenant setup seeds its cell, from ROOT_* settings.
npm run db:provision:napsoft -- --env dev Provision the first cell and seed the Napsoft roles.
npm run test:db PostgreSQL integration tests on a disposable server.

Run these checks before requesting review:

npm run lint
npm run format:check
npm test
npm run build
npm run licenses

License

NAP is licensed under the GNU Affero General Public License, version 3 or later (AGPL-3.0-or-later). See LICENSE.

If you run a modified version of NAP over a network, you must make the modified source available to your users.

Contributing

Every commit must include a Signed-off-by trailer asserting the Developer Certificate of Origin (DCO) 1.1. See COLLABORATION.md for the contribution and dependency rules. Pull requests follow the release contract in scripts/README.md.

The maintainer (Ian Silverstone) has sole enforcement authority over project rules.

Copyright

Copyright (c) 2026-present NapSoft, LLC. All contributors retain copyright in their contributions, licensed to the project under AGPL-3.0-or-later via the DCO sign-off.

About

NAP is a modular, multi-tenant ERP for managing projects, budgets, costs, vendors, accounts payable and receivable, the general ledger, intercompany transactions, and project-level cash flow and profitability. Its tenant-isolated architecture keeps each tenant’s data separate.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages