AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Class scheduling and tuition-tracking app for an English language centre — built on the T3 stack (Next.js, tRPC, Prisma, NextAuth, Tailwind).
A single-teacher tool to plan monthly lessons, assign students to sessions, take attendance, compute revenue from real attendance, and export schedules as PNG/Excel to send to parents. End-to-end type-safe from the database to the UI.
_Add images to docs/screenshots/ and reference them here — the monthly calendar and dashboard make the strongest first impression._Read the full README ↗Class scheduling and tuition-tracking app for an English language centre — built on the T3 stack (Next.js, tRPC, Prisma, NextAuth, Tailwind).
A single-teacher tool to plan monthly lessons, assign students to sessions, take attendance, compute revenue from real attendance, and export schedules as PNG/Excel to send to parents. End-to-end type-safe from the database to the UI.
Add images to
docs/screenshots/and reference them here — the monthly calendar and dashboard make the strongest first impression.
| Layer | Choice |
|---|---|
| Framework | Next.js 14 (App Router) — fullstack |
| Language | TypeScript (strict) |
| API | tRPC v11 — type-safe, no hand-written REST |
| ORM / DB | Prisma + Neon serverless PostgreSQL |
| Auth | NextAuth.js v5 — Credentials provider, JWT sessions |
| UI | shadcn/ui + Radix UI, TailwindCSS |
| Data fetching | TanStack Query (via tRPC) |
| Forms / validation | React Hook Form + Zod |
| Export | html2canvas (PNG), ExcelJS (Excel) |
| Testing | Vitest (unit + integration), Playwright (E2E) |
| Deploy | Vercel |
corepack enable then corepack prepare pnpm@latest --activate)git clone https://github.com/hienngo1712/teaching-schedule.git
cd teaching-schedule
pnpm install
cp .env.example .env
Then fill in .env:
| Variable | Purpose |
|---|---|
DATABASE_URL | Pooled connection string (used by the app at runtime) |
DIRECT_URL | Direct connection string (used by Prisma migrations) |
NEXTAUTH_SECRET | Random 32-byte secret — generate with openssl rand -base64 32 |
NEXTAUTH_URL | http://localhost:3000 in development |
pnpm prisma migrate deploy # apply migrations
pnpm db:seed # optional: seed sample data
Register through the app at /register (rate-limited per IP), or create a user from the CLI:
pnpm user:create
pnpm dev
Open http://localhost:3000.
Integration tests hit a real database, so they require a .env.test pointing at a separate branch/database from production — the suite refuses to run if the test endpoint matches the production endpoint.
cp .env.test.example .env.test # then point DATABASE_URL at a dedicated test DB
pnpm test # unit + integration
pnpm test:unit # unit only
pnpm test:integration # integration only
src/
├── app/ # Next.js App Router (calendar, students, reports, tuition, dashboard)
├── server/
│ ├── trpc/routers/ # auth, student, session, attendance, tuition, report, subject
│ └── services/ # business logic
├── lib/ # Zod schemas, shared types, tRPC client, utils
├── components/ # UI (calendar, sessions, students, tuition, reports)
└── language/ # vi.json / en.json
prisma/ # schema, migrations, seed
tests/ # unit, integration, e2e
docs/ # architecture & feature notes
Personal project — no license granted for reuse.