A modern, multi-tenant task and project management platform built for teams and organizations.
Live Demo β’ Documentation β’ Report Bug β’ Request Feature
Taskflow is a comprehensive, enterprise-grade task and project management platform designed to streamline workflows for teams of all sizes. Built with modern web technologies and a focus on scalability, security, and user experience.
- π Advanced Authentication: Multi-provider auth with 2FA, passkeys, and secure session management
- π’ Multi-Tenant Architecture: Complete organization management with role-based access control
- π Task & Project Management: Comprehensive workflow management with team collaboration
- π Internationalization: Multi-language support with RTL capabilities
- π± PWA Ready: Progressive Web App with offline support and push notifications
- π¨ Modern UI: Beautiful, accessible interface with dark/light themes
- β‘ High Performance: Optimized with caching, lazy loading, and modern web standards
- Framework: Next.js 15 with App Router
- Language: TypeScript with strict type checking
- UI Components: Radix UI + shadcn/ui
- Styling: Tailwind CSS 4.1.3
- State Management: tRPC + TanStack Query
- Internationalization: next-intl
- Icons: Lucide React
- Database: PostgreSQL
- ORM: Prisma 6.6.0
- Authentication: NextAuth.js v5 with Better Auth
- API: tRPC for type-safe APIs
- Caching: Redis
- File Storage: Configurable cloud storage
- Package Manager: pnpm
- Linting: ESLint + Prettier
- Testing: Jest (configured)
- Git Hooks: Husky + lint-staged
- Code Quality: TypeScript strict mode
taskflow/
βββ src/
β βββ app/ # Next.js App Router
β β βββ [locale]/ # Internationalized routes
β β βββ (public)/ # Public pages
β β βββ (protected)/ # Authenticated pages
β β βββ (handler)/ # User dashboard
β β βββ (panel)/ # Admin panel
β βββ modules/ # Feature modules
β β βββ auth/ # Authentication system
β β βββ organization/ # Multi-tenant features
β β βββ project/ # Project management
β β βββ task/ # Task management
β β βββ user/ # User management
β β βββ ...
β βββ components/ # Shared components
β βββ packages/ # Internal packages
β βββ resources/ # Resources & configs
βββ prisma/
β βββ schema/ # Database schema
βββ public/ # Static assets
βββ docs/ # Documentation
- Node.js 18+
- PostgreSQL database
- Redis server (optional, for caching)
- pnpm package manager
-
Clone the repository
git clone https://github.com/your-org/taskflow.git cd taskflow -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Set up the database
pnpm db:push # Push schema to database pnpm db:studio # Open Prisma Studio (optional)
-
Start the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000
Create a .env file with the following variables:
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/taskflow"
# Authentication
AUTH_SECRET="your-auth-secret"
AUTH_GITHUB_ID="your-github-client-id"
AUTH_GITHUB_SECRET="your-github-client-secret"
# Redis (optional)
REDIS_USERNAME="your-redis-username"
REDIS_PASSWORD="your-redis-password"
REDIS_SOCKET_HOST="localhost"
REDIS_SOCKET_PORT=6379
# Web Push (for PWA notifications)
VAPID_PRIVATE_KEY="your-vapid-private-key"
NEXT_PUBLIC_VAPID_PUBLIC_KEY="your-vapid-public-key"
# Development
NODE_ENV="development"
USE_DEBUG_LOGS=true- Multiple Providers: Email/password, GitHub OAuth, Passkeys (WebAuthn)
- Security Features: 2FA with backup codes, session management, account lockout
- Password Policies: Complexity requirements, history tracking, secure reset flows
- Organization Management: Complete org hierarchy with branding and settings
- Role-Based Access Control: Granular permissions system
- User Management: Comprehensive profiles with preferences and security settings
- Team Collaboration: Team structures and project assignments
- Task Management: Create, assign, track, and manage tasks
- Project Organization: Project hierarchies with milestones and dependencies
- Collaboration: Real-time updates, comments, and file attachments
- Analytics: Dashboard with productivity metrics and reporting
- Supported Languages: English, Hindi, Japanese, Slovak, Urdu
- RTL Support: Right-to-left language support
- Localization: Timezone, currency, and date format customization
The API is built with tRPC for type-safe client-server communication. Key endpoints include:
- Authentication:
/api/auth/*- Login, register, password reset - Users:
/api/users/*- User management and profiles - Organizations:
/api/organizations/*- Multi-tenant features - Projects:
/api/projects/*- Project management - Tasks:
/api/tasks/*- Task operations
The database uses PostgreSQL with the following main entities:
- Users: User accounts with security features
- Organizations: Multi-tenant organization structure
- Roles & Permissions: RBAC system
- Projects: Project management entities
- Tasks: Task management with assignments
- Sessions: Secure session tracking
# Development
pnpm dev # Start development server with Turbo
pnpm dev-https # Start with HTTPS
# Building
pnpm build # Production build
pnpm start # Start production server
pnpm preview # Preview production build
# Database
pnpm db:generate # Generate Prisma client
pnpm db:push # Push schema to database
pnpm db:migrate # Run migrations
pnpm db:studio # Open Prisma Studio
pnpm db:reset # Reset database
# Code Quality
pnpm lint # Run ESLint
pnpm lint:fix # Fix ESLint issues
pnpm typecheck # Run TypeScript checks
pnpm format:check # Check Prettier formatting
pnpm format:write # Apply Prettier formatting
pnpm fix # Fix all linting and formatting issues
# Testing
pnpm test # Run tests
pnpm test:watch # Run tests in watch mode
# Utilities
pnpm generate-icons # Generate icon components
pnpm generate-screenshots # Generate screenshots for documentationThis project uses:
- ESLint with Next.js and TypeScript configurations
- Prettier for code formatting
- Husky for Git hooks
- lint-staged for pre-commit checks
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.
-
Build the application
pnpm build
-
Set up production environment variables
- All required environment variables must be set
NODE_ENVshould be set toproduction- Database and Redis connections must be configured
-
Database migrations
pnpm db:migrate
-
Start the application
pnpm start
A Docker configuration can be set up for containerized deployment. The application is designed to work with:
- PostgreSQL as the primary database
- Redis for caching and session storage
- CDN for static asset delivery
- Development: Source maps enabled, debug logs, hot reload
- Production: Optimized builds, security headers, caching enabled
- Testing: Isolated test database, mock services
Taskflow implements multiple security measures:
- Authentication: Secure password hashing, session management, 2FA
- Authorization: Role-based access control with granular permissions
- Data Protection: Input validation, SQL injection prevention, XSS protection
- Infrastructure: Security headers, HTTPS enforcement, secure cookies
- Compliance: GDPR considerations, data privacy controls
- Authentication system
- Multi-tenant architecture
- Basic task management
- User management
- Advanced project management
- Real-time collaboration
- File management system
- Advanced analytics
- Third-party integrations (Slack, GitHub, etc.)
- API for external developers
- Webhook system
- Custom workflows
- Advanced security features
- Compliance tools
- Advanced reporting
- Custom branding
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Full documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@taskflow.app