The modern Web UI for the rust-dns-backend enterprise DNS server. Built with React, TypeScript, and Vite.
- Modern UI: Clean and intuitive dashboard for DNS management.
- Fast Development: Powered by Vite for instant HMR.
- Strict Typing: Comprehensive TypeScript configuration for type safety.
- Automated Validation: Integrated ESLint, Prettier, and GitHub Actions for continuous quality.
- Node.js (v20 or newer recommended)
- npm or pnpm or yarn
npm install
# or
yarn installStarts the development server on http://localhost:5173. Make sure rust-dns-backend is also running to proxy API requests if needed.
npm run devCreate an optimized build in the dist directory:
npm run buildWe provide a multi-stage Dockerfile that builds the static project and serves it through a lightweight Nginx web server.
docker build -t rust-dns-frontend .
docker run -d -p 80:80 rust-dns-frontendEnsure your API backend is correctly exposed and consider modifying /etc/nginx/conf.d/default.conf to proxy API requests correctly inside the container if it sits behind the same ingress.
This project integrates into CI through .github/workflows. On every pull request or commit to the main branch, it performs the following checks:
- Linting:
npm run lintensures code cleanliness and standards consistency. - Type Checking:
tsc --noEmitvalidates proper typing. - Security Audits:
npm auditprevents bringing known vulnerabilities into the system. - Build Checks: Prevents merging code that does not build properly.