Full-stack

Task Tracker

A task manager with priority levels, filtering, and live counts. This demo keeps its tasks in memory; the full version stores them in SQLite behind a Flask REST API.

C# / ASP.NET Core Flask SQLite REST API Vanilla JS

How it worksBehind the demo

01

REST API

Standard CRUD endpoints (GET, POST, PUT, DELETE). I wrote the same API twice, once in Flask and once in ASP.NET Core, to compare the two stacks.

02

Parameterized SQL

Queries bind their values as parameters, never by gluing strings together. Try adding a task titled '; DROP TABLE tasks;-- and it just gets saved as a normal title.

03

Validated input

The server rejects empty titles, titles over 120 characters, and any priority besides low, medium, or high. The browser checks too, but only for quicker feedback.

OverviewResets on refresh

0 Total
0 Pending
0 Completed

Add a taskEnter to submit

TasksClick a filter

Standalone browser demo. Tasks live in a JavaScript array, so they reset on refresh. The full project swaps this for REST calls to a Flask server backed by SQLite. See the source and API write-up.