A modern attendance management system for universities that helps administrators track professor attendance and efficiently organize teaching sessions.

Univ-Check UI is an open-source project aimed at providing universities with a robust system to manage and track professor attendance. The system enables university administrators to:
- Monitor professor attendance and punctuality
- Organize and schedule courses efficiently
- Generate attendance reports and analytics
- Manage manual attendance validation
- Framework: Next.js 15
- UI Components:
- shadcn/ui
- Origin UI - Beautiful UI components built with Tailwind CSS and React
- React Icons - Using Phosphor Icons (pi) in dualtone style
- Styling: Tailwind CSS 4
- Form Management: React Hook Form
- Validation: Zod
- State Management:
- TanStack Query - Server state
- TanStack Table - Table state management
- Zustand - Client state
- URL State Management: Nuqs - Type-safe URL query state management
- Authentication: Better Auth - Authentication framework
- Node.js 18.x or higher
- pnpm 8.x or higher
- Clone the repository:
git clone https://github.com/tiger-githubb/univ-check-ui.git
cd univ-check-ui- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3007 with your browser to see the application.
The project follows a structured organization to maintain scalability and separation of concerns:
src/
├── app/ # Next.js App Router routes and pages
│ ├── auth/ # Authentication routes
│ ├── board/ # Main application routes (formerly dashboard)
│ └── ...
├── components/ # Reusable UI components
│ ├── ui/ # Base components (shadcn/ui only)
│ ├── enhanced/ # Enhanced shadcn components with logic
│ ├── shared/ # Custom shared components
│ │ ├── navigation/ # Navigation-related components (app.sidebar, search.form, team.switcher)
│ │ ├── theme/ # Theme-related components (mode-toggle)
│ │ └── others/ # Other shared components (feedback.dialog)
│ └── ...
├── config/ # Global configuration
│ ├── constants.ts # Application constants
│ ├── messages.ts # Error and success messages
│ ├── routes.ts # Centralized route definitions
│ └── navigation-items.tsx # Navigation configuration
├── hooks/ # Custom React hooks
│ ├── queries/ # TanStack Query hooks
│ └── ...
├── lib/ # Utilities and functions
│ └── utils.ts # Utility functions
├── schema/ # Validation schemas (Zod)
├── server/ # Server-side logic
│ ├── services/ # Business services
│ └── ...
└── utils/ # Specific utilities
├── providers/ # React providers
└── ...
See CONTRIBUTING.md for detailed information about the project structure and conventions.
For testing purposes, you can use the following credentials:
-
Admin:
- Email: admin@univ-check.fr
- Password: Admin123!
-
Professor:
- Email: professeur@univ-check.fr
- Password: Prof123!
We welcome contributions to the Univ-Check UI project! Please read our Contributing Guide to get started. The guide includes detailed information about:
- Project structure and conventions
- Component organization
- Development workflow
- Code style guidelines
- Configuration and architecture
- Integration with the backend API
- Authentication system
- Dashboard for administrators
- Professor management
- Course scheduling
- Attendance tracking and reporting
- Mobile-responsive design
- Real-time notifications
- User feedback and bug reporting
This project is licensed under the MIT License - see the LICENSE file for details.
All our contributors and supporters are welcome to join us and help us make Univ-Check the best attendance tracking system out there!