https://github.com/nakov/taskboard-js
Trello-style task board, holding tasks in boards (Open, In Progress, Done): JS App + RESTful API
https://github.com/nakov/taskboard-js
Last synced: 9 months ago
JSON representation
Trello-style task board, holding tasks in boards (Open, In Progress, Done): JS App + RESTful API
- Host: GitHub
- URL: https://github.com/nakov/taskboard-js
- Owner: nakov
- Created: 2021-02-28T23:36:22.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-05T08:28:42.000Z (almost 5 years ago)
- Last Synced: 2025-04-05T05:51:09.514Z (9 months ago)
- Language: JavaScript
- Size: 24.4 KB
- Stars: 0
- Watchers: 2
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskBoard JS App + RESTful API
The JS app "Task Board" holds a board of tasks (in Trello style). Each task consists of title + description. Tasks are organized in boards, which are displayed as columns (sections): Open, In Progress, Done. The app supports the following operations:
- Home page (view tasks count + menu): `/`
- View the boards with tasks: `/boards`
- Search tasks form: `/tasks/search`
- Search tasks by keyword: `/tasks/search/:keyword`
- View task details (by id): `/tasks/view/:id`
- Add new task (title + description): `/tasks/create`
- Edit task / move to board: `/tasks/edit/:id`
## Implementation Details
The app is based on Node.js + Express.js + Pug.
- It has **no database** and app data is not persistent!
## Live Demo
- Web app live demo: https://taskboard.nakov.repl.co
- RESTful API live demo: https://taskboard.nakov.repl.co/api
- Play with the code at: https://repl.it/@nakov/taskboard
## Related Projects
- Android mobile client app: https://github.com/nakov/TaskBoard-AndroidClient
- Windows desktop client app: https://github.com/nakov/TaskBoard-DesktopClient
## RESTful API
The following endpoints are supported:
- `GET /api` - list all API endpoints
- `GET /api/tasks` - list all tasks
- `GET /api/tasks/:id` - returns a task by given `id`
- `GET /api/tasks/search/:keyword` - list all tasks matching given keyword
- `GET /api/tasks/board/:board` - list tasks by board
- `POST /api/tasks` - create a new task (post a JSON object in the request body, e.g. `{"title":"Add Tests", "description":"API + UI tests", "board":"Open"}`)
- `PATCH /api/tasks/:id` - edit task by `id` (send a JSON object in the request body, holding the fields to modify, e.g. `{"title":"changed title", "board":"Done"}`)
- `DELETE /api/tasks/:id` - delete task by `id`
- `GET /api/boards` - list all boards
## Screenshots





