feat: initial commit with Nuxt 3 student management system

- Add Nuxt 3 + Prisma + SQLite full-stack setup
- Add student CRUD API with batch import/export
- Add stats dashboard with gender/class distribution
- Add target community settings feature
- Add Docker deployment support (Dockerfile + docker-compose)
- Add README with development and deployment instructions
This commit is contained in:
2026-03-21 02:00:55 +08:00
commit 05c33b1fe8
25 changed files with 15749 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
import { prisma } from '~/server/utils/prisma'
export default defineEventHandler(async () => {
const settings = await prisma.settings.findMany()
const result: Record<string, string> = {}
settings.forEach(s => {
result[s.key] = s.value
})
return result
})

View File

@@ -0,0 +1,21 @@
import { prisma } from '~/server/utils/prisma'
export default defineEventHandler(async (event) => {
const body = await readBody(event)
if (body.key === 'targetCommunities' && Array.isArray(body.value)) {
await prisma.settings.upsert({
where: { key: body.key },
create: { key: body.key, value: JSON.stringify(body.value) },
update: { value: JSON.stringify(body.value) }
})
} else {
await prisma.settings.upsert({
where: { key: body.key },
create: { key: body.key, value: body.value },
update: { value: body.value }
})
}
return { success: true }
})