Welcome to Tasks-App, a full-stack, modern, and professional task management solution.
This project combines a beautiful React + TypeScript frontend with a robust Node.js + Express backend API.
Effortlessly create, manage, and filter your tasks with a seamless user experience and reliable RESTful API.
-
Frontend:
- Built with React, React-Hook-Form, TypeScript, Tailwind CSS, and Vite
- Responsive, interactive, and visually appealing UI
- Real-time feedback, filtering, and error handling
-
Backend:
- Node.js + Express RESTful API
- CRUD operations for tasks
- In-memory storage (easy to swap for a database)
- Robust validation and error handling
- 📝 Create, update, delete, and toggle tasks
- ✅ Mark tasks as pending or completed
- 🔍 Filter tasks by status
- 📱 Responsive design for all devices
- ⚡ Real-time toast notifications
- ⏳ Loading indicators for smooth UX
- 🛡️ Type safety and error handling
- 🎨 Modern UI with gradients and rounded corners
Layer | Tech |
---|---|
Frontend | React, TypeScript, Tailwind CSS, Vite |
Backend | Node.js, Express |
API Client | Axios |
Utilities | react-hot-toast, react-hook-form, Lucide |
- Node.js: v18+
- npm: v9+ (or Yarn/PNPM)
- Git: For cloning the repository
git clone https://github.com/shakilOfficial/tasks-manager-app.git
cd tasks-app
cd server
npm install
npm run dev
Server runs at http://localhost:5000 by default.
cd ../client
npm install
npm run dev
Frontend runs at http://localhost:5173 by default.
- Client:
Create a.env
file inclient/
:VITE_API_BASE_URL=http://localhost:5000/api/tasks
- Server:
Create a.env
file inserver/
(optional):PORT=5000
tasks-app/
├── client/ # Frontend (React)
│ ├── src/
│ ├── public/
│ ├── .env
│ ├── package.json
│ └── README.md
├── server/ # Backend (Express)
│ ├── routes/
│ ├── .env
│ ├── package.json
│ └── README.md
└── README.md # Root documentation
Method | Endpoint | Description |
---|---|---|
GET | /api/tasks |
Fetch all tasks |
POST | /api/tasks |
Create a new task |
PATCH | /api/tasks/:id/toggle |
Toggle task status |
Response Format:
{
"statusCode": number,
"success": boolean,
"message": string,
"data": T
}
Contributions are welcome!
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature
- Commit your changes
- Push and open a pull request
Licensed under the MIT License.
Questions or feedback?
Email: mrshakilhossain@outlook.com
GitHub Issues: Open an issue