Skip to content

lauhemahfus/TaskBoard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskBoard

A simple kanban-style task management application with drag-and-drop functionality to organize your tasks efficiently.

Features

  • User authentication
  • Create, edit, update and delete tasks
  • Drag and drop tasks between columns
  • Set task priority
  • Add due dates to tasks

Technology Stack

Backend

  • Node.js
  • Express.js
  • MongoDB
  • JWT for authentication
  • Bcrypt for password hashing

Frontend

  • HTML5
  • CSS3
  • JavaScript

Installation

  1. Clone the repository:
git clone https://github.com/lauhemahfus/TaskBoard.git
cd TaskBoard
  1. Install dependencies:
npm install
  1. Create a .env file 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.

Running the Application

  1. Start the server:
npm start
  1. Open your browser and navigate to:
http://localhost:5000

API Endpoints

Authentication

  • POST /api/auth/register - Register a new user
  • POST /api/auth/login - Login user
  • GET /api/auth/me - Get current user details

Tasks

  • GET /api/task - Get all tasks for logged-in user
  • POST /api/task - Create a new task
  • GET /api/task/:id - Get a specific task
  • PUT /api/task/:id - Update a task
  • DELETE /api/task/:id - Delete a task

Usage

  1. Register a new account or login with existing credentials
  2. Click "Add Task" button to create a new task
  3. Fill in the task details (title, description, status, priority, due date)
  4. Drag and drop tasks between kanban columns to change their status
  5. Click on any task card to edit or delete it
  6. Use the logout button to securely end your session

Task Properties

  • 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

Screenshot

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors