Tasko: An Angular-C#-MongoDB Task Management Demo App

Tasko Link or scroll down for embedded website.

GitLab Repo

Architecture

ElementTechnology
Frontend FrameworkAngular
Frontend Component LibraryAngular Material
BackendC#
DatabaseMongoDB
Backend InfrastructureAzure Container Apps
Infra DeploymentTerraform
Static Asset ServerAzure Blob Storage
Development InfraDocker Compose Services
Development EnvironmentNix Shell

Features

  • create projects
  • create tasks in backlog tab and optionally assign them to users and projects
  • click on tasks to view their details, and change their assigned user, update their description, and create comments
  • in board tab, filter by user and project
  • update task status with drag-and-drop to a different board column

Out of scope

  • creating new users
  • authentication/authorization
  • more complex project management
  • live updates from multiple users

Development

Clone the repo

git clone https://gitlab.com/stoicdevelopment
cd tasko
pnpm install

Start dev api and database

(cd tasko/server && docker compose up -d --build)

Seed the database through api

deno scripts/seed.ts

Start angular dev server

cd frontend
pnpm ng serve

Deployment

I'm using turborepo for dev task management; in order to:

  • install pnpm packages
  • build c# api image and push to container registry,
  • build angular assets
  • delete static assets from azure blob storage
  • push static assets to azure blob storage
  • trigger revision of azure container app

It takes only one command: pnpm turbo run apply

See for yourself:


218 Words

2025-04-16