Tasko: An Angular-C#-MongoDB Task Management Demo App
Tasko Link or scroll down for embedded website.
Architecture
Element | Technology |
---|---|
Frontend Framework | Angular |
Frontend Component Library | Angular Material |
Backend | C# |
Database | MongoDB |
Backend Infrastructure | Azure Container Apps |
Infra Deployment | Terraform |
Static Asset Server | Azure Blob Storage |
Development Infra | Docker Compose Services |
Development Environment | Nix 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