/TaskBoard

Trello-style task board, holding tasks in boards (Open, In Progress, Done): C# App + RESTful API + Desktop Client + Android Client

Primary LanguageC#

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

  • 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

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

image image image image image image

TaskBoard RESTful API

image image image

Desktop Client

Screenshot_14 image image

Android Client

Screenshot_20 Screenshot_21 Screenshot_22 image Screenshot_24