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
- Deployment: Vercel
- Node.js 18.x or later
- npm or yarn
- Supabase account
- Clerk account
- AWS account (for S3)
- Stripe account (for payments)
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_nameReplace 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
npm run devThe application will be available at http://localhost:3000.
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