δΈζηζ¬ | English
A modern React-based frontend application for the Todo for AI task management system, built with TypeScript, Vite, and Ant Design.
π Try it now: Visit https://todo4ai.org/ to experience our product!
- π¨ Modern UI: Built with Ant Design components and responsive design
- π Internationalization: Support for English and Chinese languages
- π± Responsive Design: Works seamlessly on desktop and mobile devices
- π Authentication: Google and GitHub OAuth integration
- π Project Management: Complete project lifecycle management
- β Task Management: Advanced task tracking with Kanban board
- π Rich Text Editor: Milkdown-powered markdown editor with multiple themes
- π€ AI Integration: MCP (Model Context Protocol) support for AI assistants
- π Analytics: Google Analytics 4 integration for user behavior tracking
- π― Context Rules: Custom prompts and context management
- π Advanced Search: Powerful filtering and sorting capabilities
- π Theme Support: Multiple themes including typewriter mode
- β‘ Performance: Optimized with Vite for fast development and builds
- Node.js 18+
- npm or yarn
- Todo for AI API server running
- Clone the repository
git clone https://github.com/todo-for-ai/todo-for-ai-webpage.git
cd todo-for-ai-webpage
- Install dependencies
npm install
- Configure environment variables
cp .env.example .env
# Edit .env with your configuration
- Start development server
npm run dev
The application will be available at http://localhost:50111
Create a .env
file with the following variables:
# API Configuration
VITE_API_BASE_URL=http://localhost:50110/todo-for-ai/api/v1
VITE_MCP_SERVER_URL=http://localhost:50110
# Application Configuration
VITE_APP_TITLE="Todo for AI"
VITE_APP_VERSION="1.0.0"
# Google Analytics Configuration
VITE_GA_ENABLED=true
VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX
# Development Configuration
VITE_DEBUG_MODE=true
VITE_PERFORMANCE_MONITORING=false
# Feature Flags
VITE_ENABLE_EXPERIMENTAL_FEATURES=false
VITE_ENABLE_ERROR_BOUNDARY=true
# Third-party Services
VITE_SENTRY_DSN=
VITE_HOTJAR_ID=
VITE_MIXPANEL_TOKEN=
- Create a Google Analytics 4 property
- Get your Measurement ID (format: G-XXXXXXXXXX)
- Set
VITE_GA_ENABLED=true
andVITE_GA_MEASUREMENT_ID
in your.env
file
- Framework: React 19 with TypeScript
- Build Tool: Vite 7
- UI Library: Ant Design 5
- State Management: Zustand
- Routing: React Router DOM 7
- HTTP Client: Axios
- Internationalization: i18next
- Rich Text Editor: Milkdown
- Drag & Drop: @dnd-kit
- Analytics: Google Analytics 4
- Code Quality: ESLint + Prettier
todo-for-ai-webpage/
βββ src/
β βββ components/ # Reusable UI components
β β βββ Layout/ # Application layout components
β β βββ AuthGuard/ # Authentication guard
β β βββ ...
β βββ pages/ # Page components
β β βββ Dashboard/ # Dashboard page
β β βββ Projects/ # Projects management
β β βββ Tasks/ # Task management
β β βββ Kanban/ # Kanban board
β β βββ ...
β βββ stores/ # Zustand stores
β β βββ useAuthStore.ts
β β βββ useProjectStore.ts
β β βββ ...
β βββ services/ # API services
β β βββ api.ts # API client
β β βββ auth.ts # Authentication service
β β βββ ...
β βββ contexts/ # React contexts
β β βββ ThemeContext.tsx
β β βββ LanguageContext.tsx
β β βββ ...
β βββ utils/ # Utility functions
β βββ themes/ # Theme configurations
β βββ i18n/ # Internationalization
β βββ types/ # TypeScript type definitions
βββ public/ # Static assets
βββ docs/ # Documentation
βββ .env.example # Environment variables template
βββ vite.config.ts # Vite configuration
βββ package.json # Dependencies and scripts
βββ README.md # This file
- Real-time project and task statistics
- Recent activity timeline
- Quick action buttons
- Performance metrics
- Create, edit, and delete projects
- Project status tracking
- Team collaboration features
- Project templates
- Advanced task creation with rich metadata
- Task status workflow (Todo β In Progress β Review β Done)
- Priority levels and due dates
- Task assignments and comments
- Bulk operations
- Drag-and-drop task management
- Customizable columns
- Real-time updates
- Filtering and search
- Milkdown-powered markdown editor
- Multiple themes including typewriter mode
- Syntax highlighting
- Live preview
- Export capabilities
- Custom prompt management
- Context rule marketplace
- MCP server integration
- AI assistant configuration
# Development
npm run dev # Start development server
npm run build # Build for production
npm run build:no-check # Build without TypeScript checking
npm run preview # Preview production build
npm run lint # Run ESLint
# Testing
npm run test # Run tests (when configured)
npm run test:coverage # Run tests with coverage
The development server includes:
- Hot Module Replacement (HMR)
- API proxy to backend server
- TypeScript checking
- ESLint integration
- ESLint: Configured with React and TypeScript rules
- Prettier: Code formatting
- TypeScript: Strict type checking
- Husky: Git hooks for quality gates (when configured)
npm run build
This creates an optimized production build in the dist/
directory.
# Build Docker image
docker build -t todo-for-ai-frontend:latest .
# Run container
docker run -d --name todo-for-ai-frontend \
-p 80:80 \
-e VITE_API_BASE_URL="https://your-api-domain.com/api/v1" \
todo-for-ai-frontend:latest
# Development build
VITE_API_BASE_URL=http://localhost:50110/todo-for-ai/api/v1 npm run build
# Production build
VITE_API_BASE_URL=https://todo4ai.org/todo-for-ai/api/v1 npm run build
-
API Connection Failed
- Check if the API server is running
- Verify
VITE_API_BASE_URL
in.env
- Check network connectivity
-
Authentication Issues
- Ensure OAuth is properly configured
- Check browser console for errors
- Verify API server OAuth settings
-
Build Errors
- Clear node_modules and reinstall:
rm -rf node_modules package-lock.json && npm install
- Check TypeScript errors:
npm run build
- Update dependencies:
npm update
- Clear node_modules and reinstall:
-
Performance Issues
- Enable production mode:
NODE_ENV=production
- Check bundle size:
npm run build
and analyzedist/
folder - Optimize images and assets
- Enable production mode:
Enable debug mode for detailed logging:
VITE_DEBUG_MODE=true npm run dev
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Run tests and linting:
npm run lint
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Add TypeScript types for new features
- Update documentation for significant changes
- Test your changes thoroughly
- Keep components small and focused
MIT License
π Ready to boost your productivity? Visit https://todo4ai.org/ and experience the future of AI-powered task management!