A modern, responsive web application for managing tasks and comments built with React and Flask.
- Task Management: Create, edit, and delete tasks
- Comments System: Add, edit, and delete comments for each task
- Modern UI: Clean, professional interface with gradient backgrounds and card layouts
- Responsive Design: Works seamlessly on desktop and mobile devices
- Real-time Updates: AJAX-powered interface for smooth user experience
- RESTful API: Well-structured backend API with proper HTTP methods
- React 18
- Babel (for JSX compilation)
- Font Awesome (icons)
- CSS3 with modern styling
- Flask (Python web framework)
- Flask-CORS (Cross-Origin Resource Sharing)
- RESTful API design
task-manager/
├── backend/
│ ├── app.py # Main Flask application
│ ├── app.db # SQLite database file
│ ├── config.py # Application configuration
│ ├── models.py # Database models
│ ├── requirements.txt # Python dependencies
│ ├── schemas.py # Data validation schemas
│ ├── routes/
│ │ ├── tasks.py # Task-related API endpoints
│ │ └── comments.py # Comment-related API endpoints
│ └── tests/
│ ├── conftest.py # Test configuration
│ └── test_comments.py # Comment API tests
├── frontend/
│ ├── index.html # Main HTML file
│ └── style.css # Application styles
└── README.md # Project documentation
- Python 3.7+
- A modern web browser
-
Navigate to the backend directory:
cd backend -
Install required Python packages:
pip install flask flask-cors
-
Run the Flask server:
python app.py
The backend will start on http://127.0.0.1:5000
-
Open
frontend/index.htmlin your web browser, or serve it through a local server. -
For development, you can use Python's built-in server:
cd frontend python -m http.server 8000
Then navigate to http://localhost:8000/index.html
GET /api/tasks- Retrieve all tasksPOST /api/tasks- Create a new taskPUT /api/tasks/<id>- Update a taskDELETE /api/tasks/<id>- Delete a task
GET /api/tasks/<task_id>/comments- Get comments for a taskPOST /api/tasks/<task_id>/comments- Add a comment to a taskPUT /api/tasks/<task_id>/comments/<comment_id>- Update a commentDELETE /api/tasks/<task_id>/comments/<comment_id>- Delete a comment
- Adding Tasks: Use the "Add Task" form to create new tasks
- Editing Tasks: Click the pencil icon next to a task title to edit it
- Viewing Comments: Click the "Comments" button to view and manage comments for a task
- Adding Comments: Use the comment form in the comments panel
- Deleting Items: Use the delete buttons with confirmation dialogs
- Responsive Grid Layout: Tasks and comments are displayed in a responsive grid
- Interactive UI: Hover effects, smooth transitions, and intuitive controls
- Form Validation: Client-side validation for required fields
- Confirmation Dialogs: Prevents accidental deletions
- Real-time Feedback: Immediate UI updates after operations
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- User authentication and authorization
- Task categories and tags
- Due dates and reminders
- Task prioritization
- Search and filtering capabilities
- Data persistence with database integration
