TaskFlow is a minimal task management system built as a frontend-only application.
It simulates real-world project management features such as authentication, project listing, task creation, filtering, and status updates using a mock API layer.
- React (TypeScript)
- React Router
- React Bootstrap
- Axios
- Context API (Auth + Theme)
- Mock API (in-memory simulation)
- Docker + Nginx (production build)
- Login / Register (mock authentication)
- Persistent auth state using Context + localStorage
- Protected routes
- View all projects
- Navigate to project details
- Create task (modal UI)
- View tasks under a project
- Filter tasks by status:
- Todo
- In Progress
- Done
- Update task status
- Delete task
- Dark / Light mode toggle (persistent)
- Responsive UI (mobile + desktop)
- Clean Bootstrap-based layout
- Loading and empty states
Instead of a real backend, I implemented a mock API layer using in-memory data structures.
This allowed full simulation of:
- CRUD operations
- async behavior using Promises
- realistic API response delays
Used React Context for:
- Authentication state
- Theme (dark/light mode)
This avoided prop drilling and kept global state centralized.
- Pages are separated from reusable components
- TaskModal is reusable and isolated
- API logic separated in
/api
- No backend integration (intentionally for frontend scope)
- No persistent database (data resets on refresh in mock layer)
- Filtering is client-side only
git clone https://github.com/Amit1405/taskflow-Amit-Chhipa.git
cd frontend
### 2. Install Dependencies
npm install
### 3. Start Development Server
npm start