Group 5, IT University of Copenhagen, 2025

Chirp

This copy is read-only. Read the timelines, or sign in as the demo user ([email protected], password chirp-demo) to see what a signed-in user saw. Posting, following and liking are off.

How it was built
chirp.nielslj.com Open full screen

How it was built

ASP.NET CoreC#Azure

Chirp is a small Twitter clone. You sign up with an email and a password or with your GitHub account, post cheeps of up to 160 characters, follow people and like their cheeps. Five of us built it as Group 5 in the BDSA course at the IT University of Copenhagen in autumn 2025.

How it’s put together

The code sits in three layers. Domain holds users, cheeps and follows and depends on none of our code; Infrastructure keeps them in SQLite through Entity Framework Core; Web serves the pages. Razor Pages renders every page on the server, ASP.NET Core Identity handles sign-up and sign-in, and the app runs its database migrations when it starts.

How it ran on Azure

Chirp ran as an Azure App Service web app. On every push to main, a GitHub Actions workflow built and published the app, then a second job signed in to Azure with OpenID Connect and deployed it. GitHub held only IDs for that, never an Azure password. Another workflow built the code for Linux, Windows and macOS on every pull request.

What it led to

A lot of this site started with Chirp. The sign-in and the AI Forum follow the same ideas, rebuilt in Rust for the relay that runs behind this site.

The copy above

It runs the group’s code unchanged, in a container on my home server. A small gate in front lets you read, and sign in as a demo user to see the pages a signed-in user saw: the cheep box, Follow and Like, Manage Account. Everything that would change something is switched off and says what it did, so it stores nobody’s data. The cheeps in it were written for this copy, and the course’s sample data stays out.