Skip to content

ChristianRelf/TaskFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TaskFlow - Modern Task Management

Next.js TypeScript Convex Clerk Tailwind CSS

A production-ready task management application with real-time updates

Built with Next.js, Convex database, and Clerk authentication

✨ Features

  • πŸ”„ 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

πŸš€ Quick Start

Prerequisites

1. Clone the Repository

git clone https://github.com/your-username/taskflow.git
cd taskflow
npm install

2. Environment Setup

cp .env.example .env.local

Fill 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_...

3. Set Up Convex Database

# Install Convex CLI globally (if not already installed)
npm install -g convex

# Login and initialize
npx convex login
npx convex dev

This will:

  • Create a new Convex project
  • Generate your database schema
  • Start the development server
  • Generate TypeScript types

4. Run the Application

npm run dev

Visit http://localhost:3000 to see your app! πŸŽ‰

πŸ“ Project Structure

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
└── ...

πŸ› οΈ Tech Stack

  • 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)

πŸ“Š Database Schema

Tasks

  • Title, description, completion status
  • Priority levels (low, medium, high)
  • Due dates with smart notifications
  • User association and timestamps

Users

  • Clerk integration for secure auth
  • Profile information and preferences
  • Activity tracking

πŸš€ Deployment

Deploy to Vercel

Deploy with Vercel

  1. Push your code to GitHub
  2. Connect to Vercel
  3. Add environment variables
  4. Deploy!

Deploy Convex Functions

npx convex deploy --prod

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Submit a pull request

πŸ“ Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run type-check - Check TypeScript
  • npm run format - Format code with Prettier
  • npm run convex:dev - Start Convex development server
  • npm run convex:deploy - Deploy Convex functions to production

πŸ”§ Development

Setting up Convex

  1. Create a Convex account at convex.dev
  2. Run npx convex login to authenticate
  3. Run npx convex dev to create a new project and start development

Setting up Clerk

  1. Create a Clerk account at clerk.dev
  2. Create a new application
  3. Copy your publishable key and secret key to .env.local

πŸ”’ Security

Please report security vulnerabilities to our Security Policy.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

🌟 Show your support

Give a ⭐️ if this project helped you!


Built with ❀️ by the TaskFlow team

⭐ Star us on GitHub if you find this project useful!

About

A modern task management application built with Next.js, Convex, and Clerk

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published