A simple kanban-style task management application with drag-and-drop functionality to organize your tasks efficiently.
- User authentication
- Create, edit, update and delete tasks
- Drag and drop tasks between columns
- Set task priority
- Add due dates to tasks
- Node.js
- Express.js
- MongoDB
- JWT for authentication
- Bcrypt for password hashing
- HTML5
- CSS3
- JavaScript
- Clone the repository:
git clone https://github.com/lauhemahfus/TaskBoard.git
cd TaskBoard- Install dependencies:
npm install- Create a
.envfile in the root directory with the following variables:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/taskboard
JWT_SECRET=your_secret_key_here
JWT_EXPIRES_IN=7d
Note: Replace your_secret_key_here with a strong random string for production use.
- Start the server:
npm start- Open your browser and navigate to:
http://localhost:5000
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/auth/me- Get current user details
GET /api/task- Get all tasks for logged-in userPOST /api/task- Create a new taskGET /api/task/:id- Get a specific taskPUT /api/task/:id- Update a taskDELETE /api/task/:id- Delete a task
- Register a new account or login with existing credentials
- Click "Add Task" button to create a new task
- Fill in the task details (title, description, status, priority, due date)
- Drag and drop tasks between kanban columns to change their status
- Click on any task card to edit or delete it
- Use the logout button to securely end your session
- Title: Task name (required, max 100 characters)
- Description: Task details (optional, max 500 characters)
- Status: pending, in-progress, or completed
- Priority: low, medium, or high
- Due Date: Optional deadline for the task