mirror of
https://github.com/tiennm99/thptqg.git
synced 2026-10-14 00:17:03 +00:00
feat: add static score lookup site with Node.js DB builder
- Node script parses 119 Excel files into SQLite (847K students) - Vite + React frontend with sql.js for client-side querying - Search by exam ID (số báo danh) or student name - Gzipped DB (36MB) with download progress bar - GitHub Actions workflow for GitHub Pages deployment
This commit is contained in:
1 parent
cee9df9f1a
commit
2bed92547b
17 files changed
+4098
No files matched your search
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
name: Deploy to GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: pages
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
package-lock.json
|
||||
web/package-lock.json
|
||||
|
||||
- name: Install root dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Build database
|
||||
run: npm run build:db
|
||||
|
||||
- name: Compress database
|
||||
run: gzip -k -9 web/public/thptqg2017.db
|
||||
|
||||
- name: Install web dependencies
|
||||
run: cd web && npm ci
|
||||
|
||||
- name: Build site
|
||||
run: cd web && npx vite build
|
||||
|
||||
- name: Remove uncompressed db from dist
|
||||
run: rm -f web/dist/thptqg2017.db
|
||||
|
||||
- uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: web/dist
|
||||
|
||||
deploy:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
Reference in new issue
Block a user