A collaborative task board with calendar scheduling, built on a serverless backend.
Team project — 6 contributors.
Teams create shared boards, add tasks, assign them to members and schedule them onto a calendar. Authentication is per-user, and boards sync across everyone working on them.
Serverless throughout — no VM to keep running, and it costs nothing when idle.
backend/
function_app.py Azure Functions HTTP API - the whole backend
host.json runtime configuration
frontend/
app.js Express server rendering EJS views
views/ auth, board, calendar
public/ client-side board logic and styling
Data lives in Azure Cosmos DB. The frontend deploys to App Engine (app.yaml,
Procfile); the API runs as Azure Functions.
The interesting constraint was statelessness: with no server holding session state between invocations, board consistency has to come from the data layer, and every function has to be safe to invoke concurrently.
Requires Python 3.11+, Node 18+, and the Azure Functions Core Tools.
# backend
cd backend
pip install -r requirements.txt
cp local.settings.example.json local.settings.json # add your Cosmos DB connection string
func start
# frontend
cd frontend
npm install
npm startlocal.settings.json is gitignored and must never be committed — it holds your Cosmos DB
key.
Python · Azure Functions · Azure Cosmos DB · Node.js · Express · EJS