- Static frontend (HTML/CSS/JS) deployed to GitHub Pages
- Express backend with MongoDB for users and orders
- Admin endpoints for orders and stats
- CI checks for linting and tests on each PR/push
- Frontend: will be available at GitHub Pages once enabled (Settings → Pages)
backend/ # Express server
server.js # API routes and Mongo connection
package.json # scripts: start, lint, test
test/ # Node test runner + supertest
.github/workflows/ # CI and Pages workflows
index.html, ... # Frontend files
Prerequisites:
- Node.js 18+
- MongoDB connection string
Setup:
- Copy env template and fill values:
cp backend/.env.example backend/.env
- Install and run backend:
cd backend
npm ci
npm run lint
npm test
npm start
The server listens on PORT (default 5000). Health check: GET /.
The workflow .github/workflows/pages.yml publishes the repository root. After the first successful run, go to Settings → Pages and select GitHub Actions as the source. The site URL will appear on the workflow run and in the environment.
- Open issues using templates and submit PRs using the PR template.
- CI must pass before merge.
ISC