A modern, role-based dashboard application built with React, Redux Toolkit, and Tailwind CSS for monitoring team productivity and managing tasks.
- Role-Based Views: Toggle between Team Lead and Team Member perspectives
- Real-time Status Updates: Team members can update their working status (Working, Meeting, Break, Offline)
- Task Management: Team leads can assign tasks, members can track progress
- Team Monitoring: Visual overview of all team members and their current status
- Monitor all team member statuses with real-time updates
- Assign tasks to team members with due dates
- Filter and sort team members by status or task count
- Visual charts showing status distribution and task progress
- Direct status management for team members
- Update personal working status
- View assigned tasks with progress tracking
- Update task progress in 25% increments
- Visual progress indicators and completion status
- Dark Mode: Toggle between light and dark themes
- Auto-Reset: Automatically sets inactive members to "Offline" after 10 minutes
- Chart Visualizations: Pie charts for status distribution and bar charts for task analytics
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Modern UI/UX: Clean, professional interface following modern design principles
- Frontend: React 19 with Hooks
- State Management: Redux Toolkit
- Styling: Tailwind CSS
- Charts: Recharts
- Build Tool: Vite
- Icons: Heroicons (SVG)
- Clone the repository:
git clone https://github.com/vks9336/team-plus.git- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
src/
├── components/ # Reusable UI components
│ ├── Header.jsx # Navigation and role toggle
│ ├── MemberCard.jsx # Team member display card
│ ├── TaskForm.jsx # Task assignment form
│ ├── TaskList.jsx # Task management interface
│ └── StatusSelector.jsx # Status update controls
├── pages/ # Page components
│ └── Dashboard.jsx # Main dashboard page
├── redux/ # Redux store and slices
│ ├── store.js # Store configuration
│ └── slices/ # Redux slices
│ ├── roleSlice.js # Role and user state
│ └── membersSlice.js # Team members and tasks
├── App.jsx # Main app component
├── main.jsx # App entry point
└── index.css # Global styles
- Use the "Switch to Lead/Member View" button in the header
- The interface adapts based on your current role
- Monitor Team: View all team members and their current status
- Assign Tasks: Use the task form to assign new tasks with due dates
- Filter Members: Filter by status or sort by name/tasks
- Manage Status: Directly update team member statuses
- Update Status: Use the status selector to update your working status
- Track Tasks: View assigned tasks and update progress
- Progress Updates: Use the progress buttons to update task completion
- Modern Card-Based Layout: Clean, organized information display
- Status Color Coding: Intuitive color system for different statuses
- Responsive Grid: Adapts to different screen sizes
- Smooth Animations: Subtle transitions and hover effects
- Accessibility: Proper contrast ratios and keyboard navigation
Edit the initialMembers array in src/redux/slices/membersSlice.js to add or modify team members.
Modify tailwind.config.js to customize colors, fonts, and other design tokens.
The dashboard is fully responsive and works on:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
Toggle dark mode using the moon/sun icon in the header. The theme preference is managed through Redux state.
The dashboard includes:
- Status distribution pie chart
- Task distribution bar chart
- Real-time status counters
- Progress tracking for individual tasks
Build the project for production:
npm run buildThe built files will be in the dist directory, ready for deployment to any static hosting service like Netlify, Vercel, or GitHub Pages.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
- Design inspiration from modern admin dashboard layouts
- Icons from Heroicons
- Charts powered by Recharts
- Built with React and Redux Toolkit best practices