A modern, responsive Task Manager built with React that helps you stay organized and get things done! This application provides a clean and intuitive interface for managing your daily tasks with persistence across browser sessions.
π CodeSandbox Demo - Primary Demo
β‘ StackBlitz Demo - Alternative Demo
π GitHub Pages - Redirect Page
β¨ Fully functional React Task Manager with all features working live! Click any link above to try the application immediately.
- Add Tasks: Create new tasks with title and description
- Toggle Completion: Mark tasks as complete or incomplete with visual feedback
- Filter Tasks: Filter by All, Pending, or Completed tasks
- Persistent Storage: All tasks are automatically saved in browser localStorage
- Delete Tasks: Remove tasks you no longer need
- Real-time Search: Search tasks by title as you type
- Task Statistics: Live counters showing total, pending, and completed tasks
- Responsive Design: Works perfectly on desktop, tablet, and mobile devices
- Modern UI: Beautiful gradient design with smooth animations
- Frontend: React 18.2.0
- Styling: CSS3 with Flexbox and Grid
- State Management: React Hooks (useState, useEffect)
- Storage: Browser LocalStorage API
- Build Tool: Create React App
The application is built with reusable React components:
src/
βββ App.js # Main component with state management
βββ App.css # Global styles and responsive design
βββ components/
β βββ TaskForm.js # Add new tasks form
β βββ TaskForm.css # TaskForm styles
β βββ TaskItem.js # Individual task display
β βββ TaskItem.css # TaskItem styles
β βββ TaskList.js # Container for task items
β βββ TaskList.css # TaskList styles
β βββ TaskFilter.js # Filter controls (All/Pending/Completed)
β βββ TaskFilter.css # TaskFilter styles
β βββ SearchBar.js # Real-time search functionality
β βββ SearchBar.css # SearchBar styles
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/task-manager-app.git cd task-manager-app -
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
npm run buildThis creates a build folder with optimized production files.
- Run
npm run buildto create the production build - Go to https://app.netlify.com/drop
- Drag and drop the
buildfolder onto the page - Your app will be live instantly!
- Push your code to GitHub (already done!)
- Go to https://app.netlify.com
- Click "New site from Git"
- Choose GitHub and select this repository
- Set build settings:
- Build command:
npm run build - Publish directory:
build
- Build command:
- Click "Deploy site"
- Install Vercel CLI:
npm i -g vercel - Run
vercelin your project directory - Follow the prompts
- Your app will be deployed!
- Install gh-pages:
npm install --save-dev gh-pages - Add to package.json:
"homepage": "https://your-username.github.io/task-manager-app", "scripts": { "predeploy": "npm run build", "deploy": "gh-pages -d build" }
- Run
npm run deploy
- Enter a task title (required)
- Optionally add a description
- Click "Add Task" or press Enter
- Complete: Click the circle button (β) to mark as complete (β)
- Delete: Click the Γ button to remove a task
- Search: Type in the search bar to find specific tasks
- Filter: Use All, Pending, or Completed buttons to filter your view
- All tasks are automatically saved to your browser's localStorage
- Your tasks will persist even after closing and reopening the browser
- Data is stored locally and never sent to external servers
- Gradient Background: Beautiful purple-blue gradient
- Glassmorphism: Semi-transparent elements with backdrop blur
- Smooth Animations: Hover effects and transitions throughout
- Responsive Typography: Scales appropriately across devices
- Primary:
#667eea(Soft Blue) - Secondary:
#764ba2(Purple) - Success:
#28a745(Green for completed tasks) - Danger:
#dc3545(Red for delete actions)
- Desktop:
> 768px- Full layout with side-by-side controls - Mobile:
β€ 768px- Stacked layout optimized for touch
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run eject- One-way operation to expose build configuration
The application follows React best practices:
- Functional Components: All components use modern React hooks
- State Management: Centralized state in App.js with prop drilling
- CSS Modules: Component-specific CSS files for maintainability
- Responsive Design: Mobile-first approach with progressive enhancement
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Repository: https://github.com/igpravin/task-manager-app
- Live Demo: Deploy your own version!
- Report Issues: Create an Issue
- Feature Requests: Request a Feature
- Contribute: See CONTRIBUTING.md
β Star this repo if you found it helpful! β’ π Found a bug? Report it β’ π Want to contribute? Check our guidelines
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify