A modern React-based project management application similar to Asana, now powered by Supabase for real-time collaboration and data persistence.
- Project Management: Create and manage projects with team collaboration
- Task Management: Kanban boards, list views, and task tracking
- Real-time Updates: Live collaboration using Supabase real-time subscriptions
- User Authentication: Secure authentication with Supabase Auth
- Team Management: User roles, permissions, and organization management
- Time Tracking: Built-in time tracking and reporting
- Dashboard: Comprehensive overview of tasks, projects, and team activity
- Frontend: React 19, TypeScript, Vite
- Backend: Supabase (PostgreSQL database, real-time subscriptions, authentication)
- Styling: Tailwind CSS (via CDN)
- State Management: React hooks and context
- Node.js (version 16 or higher)
- A Supabase account and project
git clone <repository-url>
cd Taskflow
npm install
- Create a new project at supabase.com
- Go to Project Settings > API to get your project URL and anon key
- Copy the SQL schema from
supabase-schema.sql
and run it in the Supabase SQL Editor
Create a .env.local
file in the root directory:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
Replace your_supabase_project_url
and your_supabase_anon_key
with your actual Supabase values.
For development:
npm run dev
For production build:
npm run build
npm run preview
If Supabase is not configured, the application will automatically fall back to demo mode with mock data. You can still test all features using the demo users:
- Ali (ali@example.com) - Admin
- Bob (bob@example.com) - Manager
- Charlie (charlie@example.com) - Member
The application uses the following main tables:
users
- User profiles and authenticationprojects
- Project information and metadatatasks
- Task details and statuscomments
- Task comments and discussionstime_entries
- Time tracking datamilestones
- Project milestonesportfolios
- Project portfoliosgoals
- OKRs and goal tracking
Row Level Security (RLS) is enabled for all tables to ensure data privacy and proper access control.
- User registration and login
- Demo mode for testing
- Secure session management
- Create and organize projects
- Project templates and color coding
- Member management and permissions
- Project status tracking
- Kanban board view with drag-and-drop
- List view with sorting and filtering
- Task dependencies and subtasks
- Custom fields and tags
- File attachments
- Due dates and priority levels
- Live task updates across users
- Real-time notifications
- Collaborative editing
- Time tracking and utilization
- Project progress reports
- Team performance metrics
- Goal tracking (OKRs)
This version has been migrated from MongoDB to Supabase for better real-time capabilities and easier deployment. The application maintains backward compatibility and will work with mock data if Supabase is not configured.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details