A comprehensive employee time management system built with Next.js 14 and TypeScript. Manage timesheets, schedules, departments, and leave requests with real-time updates.
Webiste: tahirtimeclock.netlify.app
// 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
- Google SMTP or Resend for emails
- Vercel deployment
- PostgreSQL database
- Real-time updates
- PWA support
- Mobile responsive design
-
Clone the repository:
git clone https://github.com/tahirabbas11/TimeClock.git cd TimeClock -
Install dependencies:
npm install
-
Set up environment variables:
# Copy example env file cp .env.example .envConfigure the following in
.env:# Database configuration DATABASE_URL="mysql://username:password@localhost:3306/timeclock" # Authentication AUTH_SECRET="your_auth_secret" AUTH_TRUST_HOST=true # Application URL NEXT_PUBLIC_APP_URL="http://localhost:3000" # Google OAuth credentials GOOGLE_CLIENT_ID="your_google_client_id" GOOGLE_CLIENT_SECRET="your_google_client_secret" # Google SMTP credentials GOOGLE_SMTP_USER="your_email@gmail.com" GOOGLE_SMTP_PASS="your_google_app_password" # Resend API key RESEND_API_KEY="your_resend_api_key" # Email service (google or resend) EMAIL_SERVICE="google"
-
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
Tahir Abbas
Website: thetahirabbas.netlify.app
GitHub: @tahirabbas11# TimeClock
