- User Authentication: Secure login system with distinct roles for "Admin" and "Employee".
- Role-Based Access Control:
- Admins have full control over all modules, including user and employee management.
- Employees can view their assigned tasks, and upcoming meetings, and manage their own schedule.
- Interactive Dashboard: A dynamic dashboard providing key metrics and at-a-glance information, customized for each user role.
- Admin View: Displays statistics on total employees, task completion rates, upcoming meetings, and active departments.
- Employee View: Highlights assigned tasks, completed tasks, overdue tasks, and upcoming meetings.
- Employee Management: Admins can add, edit, and delete employee records.
- Department Management: Admins can create and manage organizational departments, assign department heads, and add/remove employees.
- Position Management: Admins can define job positions within departments.
- Task Management:
- Admins can create tasks, set deadlines, assign priorities, and assign them to specific employees.
- Employees can view their task list and mark tasks as complete.
- Meeting Scheduling:
- Schedule meetings with detailed descriptions, dates, times, and locations.
- Invite participants by department or as individuals.
- User Management: Admins can add or remove users from the system.
- In-App Notifications: A real-time notification system alerts users to new tasks and meeting invitations.
- System Preferences: Users can update their profile information and switch between light and dark themes.
- Responsive Design: The application is fully responsive and works seamlessly on desktop and mobile devices.
- Data Persistence: Uses browser local storage to persist data for a prototype experience without a backend.
- Framework: Next.js (with App Router)
- Language: TypeScript
- UI Library: React
- Styling: Tailwind CSS
- Component Library: ShadCN UI
- State Management: React Context API
- Forms: React Hook Form
- Schema Validation: Zod
- Charts: Recharts
- Icons: Lucide React
- Data Persistence (Prototype): Browser Local Storage
- Java
- SpringBoot
- Jakarta
- Lombok
- Spring MVC
- Spring Security
- Spring JPA
- Mockito
- PostgreSQL
- ModelMapper
- Maven
- PostgreSQL
- Browser Local Storage
Demo Credentials:
- Admin:
admin@demo.com/admin000 - Employee:
employee@demo.com/employee000