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!