https://github.com/nakov/taskboard
Trello-style task board, holding tasks in boards (Open, In Progress, Done): C# App + RESTful API + Desktop Client + Android Client
https://github.com/nakov/taskboard
Last synced: 4 months ago
JSON representation
Trello-style task board, holding tasks in boards (Open, In Progress, Done): C# App + RESTful API + Desktop Client + Android Client
- Host: GitHub
- URL: https://github.com/nakov/taskboard
- Owner: nakov
- Created: 2021-10-14T07:13:27.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-25T09:12:32.000Z (over 3 years ago)
- Last Synced: 2025-09-05T01:47:00.032Z (4 months ago)
- Language: C#
- Size: 829 KB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskBoard C# App + RESTful API + Desktop Client + Android Client
- Seeded database with one user, four events and three boards: **Open** / **In Progress** / **Done**
- Default user credentials: **guest** / **guest**
## TaskBoard Web App
The ASP.NET Core 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.
Live demo in Replit: [TaskBoard Web App](https://taskboard-web-app.softuniorg.repl.co)
* Technologies: .NET 5, ASP.NET MVC Core, Entity Framework Core, MS SQL Server
* The app supports the following operations:
- Home page (view tasks count + menu): `/`
- View the boards with tasks: `/Boards`
- Search tasks by keyword: `/Tasks/Search`
- View task details (by id): `/Tasks/Details/:id`
- Add new task (title + description + board): `/Tasks/Create`
- Edit task / move to board: `/Tasks/Edit/:id`
- Delete task: `/Tasks/Delete/:id`
## TaskBoard RESTful API
Live demo in Replit: [TaskBoard Web API](https://taskboard-web-api.softuniorg.repl.co)
The following endpoints are supported:
- `GET /api` - list all API endpoints
- `GET /api/boards` - list all boards
- `GET /api/tasks` - list all tasks
- `GET /api/tasks/count` - returns tasks count
- `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/:boardName` - list tasks by board
- `POST /api/tasks/create` - create a new task (post a JSON object in the request body, e.g. `{"title": "Add Tests", "description": "API + UI tests", "board": "Open"}`)
- `PUT /api/tasks/:id` - edit task by `id` (send a JSON object in the request body, holding all fields, e.g. `{"title": "changed title", "description": "changed description", "board": "Done"}`)
- `PATCH /api/tasks/:id` - partially 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/users` - list all users
- `POST /api/users/login` - logs in an existing user (send a JSON object in the request body, holding all fields, e.g. `{"username": "username", "password": "pass123"}`)
- `POST /api/users/register` - registers a new user (send a JSON object in the request body, holding all fields, e.g. `{"username": "username", "email": "user@example.com", "password": "pass123", "confirmPassword": "pass123", "firstName": "Test", "lastName": "User"}`)
## Desktop Client
Windows Forms Client for the TaskBoard RESTful API.
* Technologies: C#, .NET 5, Windows Forms, RestSharp
## Android Client
Android mobile app client for the TaskBoard RESTful API.
* Technologies: Java, Android SDK, Retrofit HTTP client
* Platform: Android
## Screenshots
### TaskBoard Web App






### TaskBoard RESTful API



### Desktop Client



### Android Client




