Easily track and analyze student attendance through a robust dashboard. Gain valuable insights and manage academic administration more effectively with powerful data analytics and visualizations.
Introduction Β Β β¦Β Β Features Β Β β¦Β Β Tech Stack Β Β β¦Β Β Directory Structure Β Β β¦Β Β Getting Started Β Β β¦Β Β Roadmap
UniTrack Dashboard is an admin tool for tracking and analyzing student attendance in universities. It offers a user-friendly interface for managing students, classes, and lectures, with detailed attendance analytics. Built with Next.js, Tailwind CSS, and Prisma.
- π Attendance Analytics: View visualizations and insights on university-wide attendance.
- π Data Tables: Access, filter, and manage data for students, classes, and lectures.
- βοΈ Admin Controls: Manage courses, users, and more with full control.
- π οΈ Real-Time Data: Live updates for attendance metrics using React Query and tRPC.
- π Customizable Dashboards: Tailor the platform to show the most relevant data to administrators.
- Next.js - Fullstack framework for server-side rendering and API routes
- React - UI framework with server components for dynamic UIs
- TypeScript - Strongly typed language for safer, maintainable code
- Prisma - ORM for interacting with the database efficiently
- tRPC - End-to-end type-safe API layer for smooth client-server communication
- Tailwind CSS - Utility-first CSS framework for rapid UI development
- Radix UI - Modular and accessible UI components
- TanStack Table - Powerful table data management for UI
- Next-Auth.js - Authentication management
- Railway - Database hosting for scalable deployments
.
βββ .github # GitHub Actions CI/CD workflows
β βββ workflows
β βββ build # Build the project on every push to the main branch
β βββ lint-pr # Lint PR titles to enforce conventional commits
β
βββ .vscode # Recommended extensions and settings for VSCode
βββ prisma # Prisma schema and migrations
β
βββ src # Main source code
β βββ app # Next.js App Router directory for pages and API routes
β β βββ api # API routes for the attendance scanner hardware units
β βββ components # UI and shared components, with shadcn-ui
β βββ lib # Shared utility functions and hooks
β βββ pages # (deprecated) Next.js Pages Router directory
β βββ server # tRPC Routers, Prisma Client, and NextAuth server-side code
β β βββ routers # tRPC Procedures for type-safe API endpoints
β βββ styles # Global styles, Tailwind CSS configuration, and custom font imports
β βββ types # Shared TypeScript types and Zod schemas for validation
β βββ env.mjs # Type-safe environment variables using t3-env
β
βββ docker-compose.yml # Docker Compose file for local development databases
βββ .nvmrc # Node Version Manager (nvm/fnm) file for setting a specific Node version
βββ package.json # Project metadata and dependencies
- Node.js v16.x or higher
- PostgreSQL (or equivalent) database
- Vercel (optional for deployment)
- Clone the repository:
git clone https://github.com/UniTrackApp/dashboard.git
cd dashboard
- Install dependencies:
npm install
- Set up environment variables by copying
.env.example
to.env
and adding your credentials:
cp .env.example .env
- Apply database migrations:
npx prisma migrate dev
- Run the development server:
npm run dev
- Open http://localhost:3000 to view the app in your browser.
- Implement some advanced charts using Recharts and shadcn-ui charts
- Add multi-campus support
- Enable real-time student location tracking
- Expand data export capabilities (CSV, PDF)
- See GitHub Issues for more details and upcoming features