Skip to content

About

Public website for erpnepal.org, a dedicated website for Nepal Compliance.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

The website for Nepal Compliance, the open source ERP solution for Nepalese businesses with HR, Payroll & Accounting compliance.

Website Publish to GitHub Pages Develop build check license

This site presents Nepal Compliance, an app built on top of Frappe Framework, ERPNext and Frappe HR. It is a static website: every page is pre-rendered to HTML at build time and served by GitHub Pages, with no server, database, sign-up forms, analytics or third-party requests.

Tech stack

Layer Choice
UI React 19, TypeScript, Vite
Styling Tailwind CSS 4, tokens in src/styles.css
UI primitives Base UI: Tabs, Accordion, Toggle Group, Menu, Toast
Icons Tabler Icons
Component utilities CVA, clsx, tailwind-merge
Fonts Inter and Noto Sans Devanagari, self-hosted
Tooling Biome for lint and format
Hosting GitHub Pages

Getting started

Requires Node.js 24.

npm install
npm run dev      # http://localhost:5173
Command What it does
npm run dev Development server with hot reload
npm run build Type-check, build, and pre-render every page to dist/
npm run check Validate dist/ (see Checks)
npm run preview Serve the built site at http://localhost:4173
npm run lint Lint and format check; npm run format applies fixes

Publishing Pipeline

feature work ──▶ develop ──(pull request)──▶ master ──▶ GitHub Pages ──▶ erpnepal.org
  • develop holds all work in progress. Every push runs develop.yml: lint, build and check. It does not deploy.
  • Markdown-only changes (README, NOTICE, docs/) skip both workflows.
  • master is production. Open a pull request from develop when a batch of changes is ready; pages.yml builds and checks the pull request, and after the merge deploys to GitHub Pages and confirms the live sitemap and pages (npm run check:live).
  • Domain: erpnepal.org, set by public/CNAME (copied into every build).

Project structure

content/              Feature, add-on and guide text (*.mjs)
public/               Static files copied as is: logos, screenshots, licence notices, CNAME
scripts/
  prerender.ts        Renders every page to HTML; writes sitemap, robots.txt, llms.txt, 404.html
  stats.ts            GitHub and Docker Hub numbers at build time
  check.ts            Validates the built site
  check-live.ts       Validates the live site after a deploy
src/
  content/            Homepage and site text, English (*.en.ts) and Nepali (*.ne.ts)
  pages/              One component per page type
  components/         Header, footer, homepage sections; page/ and ui/ building blocks
  lib/                i18n, icons, class names, site data
  routes.ts           Every URL with its title and description
  styles.css          Tailwind setup, colour tokens, fonts
docs/                 Research notes behind the guides and site copy

Checks

npm run check fails the build if any of these break:

  • The URL set matches the published site, and the sitemap lists exactly the indexed pages
  • Every page has a unique title and description, a canonical link and valid structured data
  • Every same-site link and #anchor resolves
  • All page text, including hidden tabs and closed FAQ answers, is in the static HTML
  • No third-party scripts or stylesheets
  • Each page loads at most 150 KB gzip of JavaScript and CSS up front

Contributing

Typo Corrections and UI improvements are welcome. Work on a branch from develop, run npm run lint, npm run build and npm run check, then open a pull request into develop. To report an error on the site, open an issue.

For the app itself, see the Nepal Compliance contributing guide.

License

The website code is licensed under the Apache License 2.0. Nepal Compliance and Nepal HRMS are GPL-3.0; their licence notices ship in public/assets/. Font and component credits are in NOTICE.md.

About

Public website for erpnepal.org, a dedicated website for Nepal Compliance.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages