An intermediate-to-advanced full-stack Admin Dashboard built with React.js, Supabase, and Tailwind CSS. The application provides user authentication, role-based access control, project management, task management with Kanban boards, analytics, and report generation with export capabilities.
- Login
- Register
- Forgot Password
- Persistent Login Session
- Protected Routes
- Role-Based Authorization
- View all users
- Search users
- Filter by role
- Update user roles
- User profile modal
- Admin-only access
Roles:
- Admin
- Manager
- Employee
Dashboard Overview includes:
- Total Users
- Total Projects
- Total Tasks
- Task Status Statistics
- Project Progress
- Analytics Charts
- Create Project
- Edit Project
- Delete Project
- Project Progress
- Project Status
Project Status
- Planning
- Active
- On Hold
- Completed
Project Details
- Description
- Creator
- Priority
- Progress Bar
- Team Members
Assign employees to projects.
Features
- Add team members
- Remove team members
- View assigned members
Every project has its own Kanban Board.
Features
- Create Tasks
- Assign Employees
- Due Dates
- Priority
- Status
Task Status
- Todo
- In Progress
- Done
Task Priority
- Low
- Medium
- High
Drag & Drop support using:
- @hello-pangea/dnd
Move tasks between:
Todo
β
In Progress
β
Done
Changes are automatically saved to Supabase.
- Task Comments
- Task Activity History
- Task Details Modal
Generate reports for:
- Users
- Projects
- Tasks
Supported Export Formats
- CSV
- Excel (.xlsx)
Libraries Used
- xlsx
- jspdf
- jspdf-autotable
- file-saver
The project includes an AI Assistant placeholder for future integration.
Possible AI features:
- Project summaries
- Task prioritization
- Workload analysis
- Report generation
- Deadline predictions
- Productivity insights
- React.js
- React Router DOM
- Tailwind CSS
- Recharts
- Hello Pangea DnD
- Supabase
Services Used
- Authentication
- PostgreSQL Database
- Row Level Security
- Storage (optional)
src/
β
βββ components/
β βββ dashboard/
β βββ CreateProject.jsx
β βββ CreateTask.jsx
β βββ EditProject.jsx
β βββ EditTask.jsx
β βββ TaskBoard.jsx
β βββ UserModal.jsx
β βββ AssignMembers.jsx
β βββ DashboardStats.jsx
β βββ AIReport.jsx
β βββ ...
β
βββ pages/
β βββ Dashboard.jsx
β βββ Login.jsx
β βββ Register.jsx
β βββ Users.jsx
β βββ Projects.jsx
β βββ ProjectDetails.jsx
β βββ Reports.jsx
β βββ MyTasks.jsx
β
βββ services/
β βββ projects.js
β βββ tasks.js
β βββ reports.js
β βββ projectMembers.js
β
βββ context/
β βββ AuthContext.jsx
β
βββ utils/
β βββ export.js
β
βββ lib/
βββ supabase.js
Main Tables
profiles
projects
project_members
tasks
task_comments
task_activity
Relationships
Profiles
β
ββββββββββββββ
β β
Projects Tasks
β β
β β
Project Members Comments
Register
β
Supabase Authentication
β
Profiles Table
β
Login
β
Protected Routes
β
Dashboard
Supabase Database
β
Reports Service
β
React Dashboard
β
CSV
Excel
PDF
Clone the repository
git clone https://github.com/yourusername/ai-admin-dashboard.gitNavigate into the project
cd ai-admin-dashboardInstall dependencies
npm installStart the development server
npm run devCreate a .env file in the root directory.
VITE_SUPABASE_URL=YOUR_SUPABASE_URL
VITE_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEYnpm install @supabase/supabase-js
npm install react-router-dom
npm install @hello-pangea/dnd
npm install recharts
npm install jspdf
npm install jspdf-autotable
npm install xlsx
npm install file-saverThis project demonstrates:
- React Hooks
- Context API
- React Router
- CRUD Operations
- Authentication
- Authorization
- Database Relationships
- Kanban Board
- Drag & Drop
- Dashboard Analytics
- Report Generation
- Exporting Data
- Supabase Integration
- Responsive UI Design
- AI-powered analytics
- Email notifications
- Real-time updates
- File uploads with Supabase Storage
- Calendar integration
- Gantt chart
- Dark mode
- Audit logs
- Multi-organization support
- API documentation
- Unit and integration testing
- Docker support
- CI/CD pipeline
- Deployment to Vercel
This project is intended for educational and portfolio purposes. You are free to modify and extend it for personal learning or showcase projects.
Developed using:
- React.js
- Supabase
- Tailwind CSS
- JavaScript (ES6+)
Built as an intermediate full-stack portfolio project demonstrating modern web application development with authentication, project management, task tracking, analytics, and reporting.