A professional task management web application built with the MERN stack (MongoDB, Express.js, React.js, Node.js) featuring a modern, responsive UI with Bootstrap styling.
- Task Management: Create, read, update, and delete tasks
- Status Tracking: Three status levels - To Do, In Progress, Done
- Responsive Design: Modern UI built with React-Bootstrap
- Real-time Updates: Instant UI updates after API operations
- Form Validation: Client-side validation with error handling
- Professional UI: Clean, modern interface with gradient backgrounds
- React.js 19.1.0 - UI framework
- React-Bootstrap 2.10.10 - UI components
- Bootstrap 5.3.7 - CSS framework
- Axios 1.10.0 - HTTP client
- React Icons 5.5.0 - Icon library
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
task-manager-frontend/
βββ public/
β βββ index.html
β βββ favicon.ico
βββ src/
β βββ components/
β β βββ TaskForm.jsx # Task creation form
β β βββ TaskList.jsx # Task display and management
β β βββ Home.jsx # Main application page
β β βββ App.js # Main app component
β β βββ App.css # Custom styles
β β βββ index.js # Application entry point
β βββ services/
β β βββ apiRequest.js # Base API configuration
β β βββ taskApiCall.js # Task-specific API calls
β βββ package.json
β βββ README.md
- Node.js (v14 or higher)
- npm or yarn
- MongoDB (local or Atlas)
-
Clone the repository
git clone <repository-url> cd task-manager-frontend
-
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
The frontend expects the following REST API endpoints:
| Method | Endpoint | Description | Request Body |
|---|---|---|---|
| GET | /tasks |
Get all tasks | - |
| POST | /tasks |
Create new task | { title, description, status } |
| PUT | /tasks/:id |
Update task status | { status } |
| DELETE | /tasks/:id |
Delete task | - |
{
"_id": "ObjectId",
"title": "string (required)",
"description": "string",
"status": "string (To Do | In Progress | Done)",
"createdAt": "Date",
"updatedAt": "Date"
}- Bootstrap-styled card form
- Input validation (title required)
- Status dropdown selection
- Loading state during submission
- Responsive Bootstrap table
- Inline status updates via dropdown
- Delete functionality with confirmation
- Empty state message
- Main application layout
- Error and success message handling
- Loading spinner for API calls
- Responsive grid layout
Update the base URL in src/services/apiRequest.js:
const BASE_URL = 'http://localhost:5000/api'; // Change to your backend URLCreate a .env file in the root directory:
REACT_APP_API_URL=http://localhost:5000/apiRun the test suite:
npm testCreate a production build:
npm run build- Build the application:
npm run build - Deploy the
buildfolder to your hosting service (Netlify, Vercel, etc.)
- Set up your Node.js backend with the required API endpoints
- Deploy to platforms like Heroku, Railway, or DigitalOcean
- Update the API URL in the frontend configuration
Get All Tasks
curl -X GET http://localhost:5000/api/tasksCreate New Task
curl -X POST http://localhost:5000/api/tasks \
-H "Content-Type: application/json" \
-d '{
"title": "Complete Project",
"description": "Finish the MERN stack task manager",
"status": "In Progress"
}'Update Task Status
curl -X PUT http://localhost:5000/api/tasks/TASK_ID \
-H "Content-Type: application/json" \
-d '{"status": "Done"}'Delete Task
curl -X DELETE http://localhost:5000/api/tasks/TASK_IDThe application includes comprehensive error handling:
- Form validation errors
- API error responses
- Network connectivity issues
- User-friendly error messages
- Mobile-first approach
- Bootstrap responsive grid system
- Optimized for all screen sizes
- Touch-friendly interface
- Requires backend API to be running
- No offline functionality
- No user authentication (can be added)
- No task categories or tags (can be extended)
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
[Your Name] - MERN Stack Developer
Note: This is the frontend implementation. The backend API needs to be implemented separately with the corresponding endpoints and MongoDB integration.