A modern, responsive task management application built with React, TypeScript, and Tailwind CSS. This application provides a comprehensive solution for managing tasks with features like drag-and-drop functionality, real-time updates, analytics, and calendar integration.
Frontend Application: https://task.greenhacker.tech
GitHub Repository: https://github.com/GreenHacker420/task-manager-frontend
- Task Management: Create, edit, delete, and organize tasks with priorities and categories
- Drag & Drop: Intuitive drag-and-drop interface for task status updates
- Real-time Updates: Live synchronization with backend API
- Analytics Dashboard: Visual insights into task completion and productivity
- Calendar Integration: Calendar view for deadline management
- User Authentication: Secure login/registration with Google OAuth support
- Responsive Design: Mobile-first design that works on all devices
- Dark/Light Theme: Toggle between dark and light modes
- Advanced Filtering: Filter tasks by status, priority, category, and tags
- Search Functionality: Quick search across all tasks
- Profile Management: User profile and settings customization
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS with custom animations
- UI Components: Radix UI primitives with shadcn/ui
- State Management: React Query (TanStack Query)
- Routing: React Router DOM
- Form Handling: React Hook Form with Zod validation
- Drag & Drop: React DnD
- Charts: Recharts
- Icons: Lucide React
- HTTP Client: Axios
- Deployment: Netlify (Frontend) + Railway (Backend)
Before running this project, make sure you have the following installed:
- Node.js (version 18 or higher)
- npm (version 9 or higher)
- Git
git clone https://github.com/GreenHacker420/task-manager-frontend.git
cd task-manager-frontend
npm install
Create a .env.development
file in the root directory:
cp .env.example .env.development
Update the environment variables in .env.development
:
# API Configuration
VITE_API_URL=http://localhost:5001/api
# Google OAuth (optional)
VITE_GOOGLE_CLIENT_ID=your_google_client_id
npm run dev
The application will be available at http://localhost:8080
npm run dev
- Start development servernpm run build
- Build for productionnpm run build:dev
- Build for developmentnpm run preview
- Preview production buildnpm run lint
- Run ESLintnpm start
- Start preview server
src/
├── components/ # Reusable UI components
│ ├── ui/ # Base UI components (shadcn/ui)
│ ├── dashboard/ # Dashboard-specific components
│ └── sidebar/ # Sidebar components
├── contexts/ # React contexts (Auth, Theme)
├── hooks/ # Custom React hooks
├── lib/ # Utility functions and configurations
├── pages/ # Page components
└── main.tsx # Application entry point
This project is configured for automatic deployment on Netlify:
- Connect Repository: Link your GitHub repository to Netlify
- Build Settings:
- Build command:
npm run build
- Publish directory:
dist
- Build command:
- Environment Variables: Set production environment variables in Netlify dashboard:
VITE_API_URL=https://taskms.greenhacker.tech/api
VITE_GOOGLE_CLIENT_ID=your_google_client_id
- Deploy: Automatic deployment on every push to main branch
Build and run with Docker:
# Build Docker image
docker build -t task-manager-frontend .
# Run container
docker run -p 80:80 task-manager-frontend
Variable | Description | Default |
---|---|---|
VITE_API_URL |
Backend API URL | http://localhost:5001/api |
VITE_GOOGLE_CLIENT_ID |
Google OAuth Client ID | - |
VITE_DEBUG_MODE |
Enable debug mode | false |
Note: For production deployment, set environment variables in your deployment platform (Netlify, Vercel, etc.). Never commit production credentials to version control.
This frontend is designed to work with the Task Manager Backend API. Make sure the backend is running and accessible at the URL specified in VITE_API_URL
.
Backend API: https://taskms.greenhacker.tech/api Backend Repository: https://github.com/GreenHacker420/task-manager-server
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
GreenHacker
- GitHub: @GreenHacker420
- Website: https://task.greenhacker.tech
- shadcn/ui for the beautiful UI components
- Radix UI for accessible primitives
- Tailwind CSS for the utility-first CSS framework
- Vite for the fast build tool