Built with Next.js, Convex database, and Clerk authentication
- π Real-time Updates - Instant synchronization across all devices
- π Secure Authentication - Powered by Clerk with social login support
- π± Responsive Design - Beautiful UI that works on all screen sizes
- β‘ Fast Performance - Optimized with Next.js and Convex
- π¨ Modern UI - Clean design with Tailwind CSS and shadcn/ui
- π Task Analytics - Visual insights into your productivity
- π·οΈ Priority System - Organize tasks by importance
- π Due Dates - Never miss a deadline with smart notifications
- π Dark Mode - Easy on the eyes with theme switching
- Node.js 18+
- npm or yarn
- Convex account (free)
- Clerk account (free)
git clone https://github.com/your-username/taskflow.git
cd taskflow
npm installcp .env.example .env.localFill in your credentials in .env.local:
# Get these from https://dashboard.convex.dev
CONVEX_DEPLOYMENT=your-deployment-name
NEXT_PUBLIC_CONVEX_URL=https://your-deployment-name.convex.cloud
# Get these from https://dashboard.clerk.dev
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...# Install Convex CLI globally (if not already installed)
npm install -g convex
# Login and initialize
npx convex login
npx convex devThis will:
- Create a new Convex project
- Generate your database schema
- Start the development server
- Generate TypeScript types
npm run devVisit http://localhost:3000 to see your app! π
taskflow/
βββ app/ # Next.js App Router
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
β βββ sign-in/ # Auth pages
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ dashboard.tsx # Main dashboard
β βββ task-list.tsx # Task management
β βββ ...
βββ convex/ # Convex backend
β βββ schema.ts # Database schema
β βββ tasks.ts # Task operations
β βββ users.ts # User operations
βββ lib/ # Utilities
βββ ...
- Frontend: Next.js 13+ with App Router
- Database: Convex (real-time, serverless)
- Authentication: Clerk
- Styling: Tailwind CSS + shadcn/ui
- Language: TypeScript
- Icons: Lucide React
- Deployment: Vercel (recommended)
- Title, description, completion status
- Priority levels (low, medium, high)
- Due dates with smart notifications
- User association and timestamps
- Clerk integration for secure auth
- Profile information and preferences
- Activity tracking
- Push your code to GitHub
- Connect to Vercel
- Add environment variables
- Deploy!
npx convex deploy --prodWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests if applicable
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Submit a pull request
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Check TypeScriptnpm run format- Format code with Prettiernpm run convex:dev- Start Convex development servernpm run convex:deploy- Deploy Convex functions to production
- Create a Convex account at convex.dev
- Run
npx convex loginto authenticate - Run
npx convex devto create a new project and start development
- Create a Clerk account at clerk.dev
- Create a new application
- Copy your publishable key and secret key to
.env.local
Please report security vulnerabilities to our Security Policy.
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the amazing React framework
- Convex for the real-time database
- Clerk for authentication
- shadcn/ui for beautiful components
- Tailwind CSS for styling
- π Documentation
- π Report Issues
- π¬ Discussions
Give a βοΈ if this project helped you!
Built with β€οΈ by the TaskFlow team
β Star us on GitHub if you find this project useful!