Tapiz is an attendance tracking and academic management platform for university courses. It consists of two repositories: a REST API backend and a React/TypeScript frontend.
| Repo | Description | Tech Stack |
|---|---|---|
tapiz-rest-api |
Backend REST API | Node.js, Hono, TypeORM, PostgreSQL |
tapiz-reactjs-ui |
Frontend client | React 19, Vite, Tailwind CSS v4 |
Tapiz supports two user roles:
- Assistant — manages subjects, sessions, score sheets, forms, and reports; generates QR codes for attendance
- Student — scans QR codes to record attendance, views grades, score sheets, and calendar
- QR-code based attendance scanning with configurable expiry
- Session management (lectures, lab exercises, computer exercises, auditory exercises)
- Analytics dashboard with heatmaps, trend charts, and cumulative attendance graphs
- Score sheets with formula support (SUM, IF, column references)
- Version history for score sheets (full snapshots + diffs)
- Custom form builder with public token-based access
- 2FA via email for both roles
- PDF and Excel report export via Vercel microservices
- Absence threshold notifications per subject
- Set up the API → api/README.md
- Set up the UI → ui/README.md
- API Reference → api/API_REFERENCE.md
- Database schema → api/DATABASE.md
- Architecture → api/ARCHITECTURE.md