TaskFlow is a comprehensive project management tool aimed at solving the pain points of development teams. It integrates various functionalities such as sprint management, roadmap planning, bug tracking, and team collaboration - all in one centralized platform.
- Frontend: Next.js
- Authentication: Clerk
- Database: Supabase with Prisma ORM
- File Storage: Amazon S3 Buckets
- Payments: Stripe
- AI Features: GitHub AI Model via Azure Inference API
- Deployment: Vercel
- Node.js 18.x or later
- npm or yarn
- Supabase account
- Clerk account
- AWS account (for S3)
- Stripe account (for payments)
- GitHub token for AI features
git clone git@github.com:rishiraj-58/taskflow.git
cd taskflownpm installCreate a .env file in the root directory with the following variables:
# Database - Supabase
DATABASE_URL="postgresql://postgres:password@localhost:5432/taskflow"
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding
CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# AWS S3
AWS_ACCESS_KEY_ID=your_aws_access_key_id
AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
AWS_REGION=your_aws_region
AWS_BUCKET_NAME=your_bucket_name
# GitHub AI (for AI features)
GITHUB_TOKEN=your_github_tokenReplace the placeholder values with your actual credentials.
Run the following commands to set up the database:
# Generate Prisma client
npm run prisma:generate
# Run migrations (development)
npm run prisma:migrate:dev
# Deploy migrations (production)
npm run prisma:migrate:deploy- In your Clerk Dashboard, go to the Webhooks section
- Create a new webhook pointing to
https://your-domain.com/api/webhook/clerk - Copy the webhook secret and add it to your
.envfile asCLERK_WEBHOOK_SECRET - Select the following events to listen for:
user.createduser.updateduser.deleted
TaskFlow includes AI-powered features for natural language task management. To set up these features:
# Run the AI setup script
bash setup-ai.shThis script will:
- Install the required AI dependencies
- Set up the necessary environment variables
- Provide instructions for configuring your GitHub token
npm run devThe application will be available at http://localhost:3000.
TaskFlow includes an AI assistant that helps users manage tasks using natural language. The AI assistant can:
- Create tasks from natural language descriptions
- Update task properties (assignee, status, priority, etc.)
- Move tasks between sprints
- Generate subtasks for complex work items
- Navigate to your project dashboard
- Click the chat icon in the bottom-right corner of the screen
- Type a natural language command like:
- "Create a bug task for the login page error"
- "Move all UI tasks to Sprint 3"
- "Generate 5 subtasks for the user onboarding feature"
- Review and confirm the AI's interpretation
- The action will be executed and visible in your project
The AI features require:
- A GitHub token with access to the GitHub AI model
- The Azure Inference API client libraries
- The environment variable
GITHUB_TOKENset in your.env.localfile
The application is configured for deployment on Vercel. Connect your GitHub repository to Vercel and set up the required environment variables.
- Create a new branch for each feature or bug fix
- Make your changes
- Submit a pull request to the main branch
- CI/CD will automatically run tests and linting checks
npm run dev- Start the development servernpm run build- Build the production applicationnpm run start- Start the production servernpm run lint- Run linting checksnpm run prisma:generate- Generate Prisma clientnpm run prisma:migrate:dev- Run database migrations in developmentnpm run prisma:studio- Open Prisma Studio to view/edit databasenpm run prisma:migrate:deploy- Deploy migrations to production