A comprehensive employee time management system built with Next.js 14 and TypeScript. Manage timesheets, schedules, departments, and leave requests with real-time updates.
Check out the live demo at: TimeClock Demo
// Test accounts
Admin: admin@timeclock.com / admin123
Employee: john@timeclock.com / employee123
Manager: manager@timeclock.com / manager123- Access to all departments and system settings
- Manage all users, departments, and configurations
- View system-wide analytics and reports
- Manage specific department(s)
- Add/remove department employees
- Configure department settings
- View department reports
- Oversee daily operations
- Approve timesheets and leave requests
- View department schedules
- Manage employee assignments
- Email/password with 2FA support
- Social login integration (Google OAuth)
- Role-based access control
- Session management
- Password reset functionality
- Advanced clock in/out system
- Break management
- Overtime tracking
- Location verification
- Real-time status updates
- Multi-department time off requests
- Department creation and configuration
- Employee assignment and roles
- Budget tracking and analytics
- Resource allocation
- Performance monitoring
- Comprehensive profile management
- Rate and position settings
- Department transfers
- Attendance tracking
- Performance metrics
- Dynamic shift creation
- Weekly schedule management
- Conflict detection
- Time off integration
- Calendar view with real-time updates
- Department cost analysis
- Hours and attendance tracking
- Employee statistics
- Time off patterns
- Performance reporting
- Next.js 14 App Router
- React Server Components
- TypeScript
- TailwindCSS
- shadcn/ui components
- Framer Motion animations
- Next.js API Routes
- Server Actions
- Prisma ORM
- PostgreSQL
- Auth.js v5
- Resend for emails
- Vercel deployment
- PostgreSQL database
- Real-time updates
- PWA support
- Mobile responsive design
-
Clone the repository:
git clone https://github.com/dineshchhantyal/TimeClock cd TimeClock -
Install dependencies:
npm install
-
Set up environment variables:
# Copy example env file cp .env.example .envConfigure the following in
.env:# Application NEXT_PUBLIC_APP_URL="http://localhost:3000" AUTH_SECRET="your_auth_secret" # Authentication GOOGLE_CLIENT_ID="your_google_client_id" GOOGLE_CLIENT_SECRET="your_google_client_secret" # Database DATABASE_URL="postgresql://your_database_owner:your_password@your_host/your_database?sslmode=require" # Email RESEND_API_KEY="your_resend_api_key"
-
Run Prisma migration:
npx prisma migrate dev
-
Start the development server:
npm run dev
Visit http://localhost:3000 to view the application in development mode.
- Set all required environment variables in Vercel dashboard
- Configure authentication providers
- Set up database connection
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Open pull request
MIT License - see LICENSE file
Dinesh Chhantyal
Website: dineshchhantyal.com GitHub: @dineshchhantyal
