explaingit

flh-raouf/td-bdd

24TypeScriptAudience · developerComplexity · 2/5Setup · moderate

TLDR

Local BDD/SQL practice app for CS students at ESI Algiers, 26 exercises on a realistic Algerian telecom schema with instant result-checking, hints, and sandbox mode.

Mindmap

mindmap
  root((repo))
    Exercises
      26 SQL tasks
      DDL and queries
      DZTelecom schema
    Schema
      8 tables
      Customers
      Recharge events
      Mobile plans
    Interface
      Code editor
      Syntax highlighting
      Autocompletion
    Feedback
      Column diff
      Row count check
      MySQL errors
    Tools
      Sandbox mode
      Table browser
      Progress saving
    Stack
      Bun runtime
      MySQL via Docker
      TypeScript
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Practice SQL queries against a realistic 8-table telecom database schema

USE CASE 2

Check query correctness with column, row-count, and value diffing

USE CASE 3

Explore the DZTelecom schema via a built-in table browser

USE CASE 4

Run free-form SQL in sandbox mode without grading

Tech stack

TypeScriptBunMySQLDockerSQL

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker (MySQL), Bun runtime. Run: start DB, install deps, seed data, then launch app on ports 3000 and 3001.

In plain English

BDD SQL Revision is a local web application built for students at the Higher National School of Computer Science in Algiers to practice SQL assignments from their databases course. It contains 26 exercises drawn directly from material given by the course professors, covering both creating database tables from scratch and writing queries to retrieve and analyze data. The exercises are built around a fictional Algerian mobile operator called DZTelecom, which has eight tables covering customers, subscriber phone lines, recharge events, services, usage records, mobile plans, plan features, and plan sign-ups. This gives students a realistic schema to work with rather than a toy example, and all 26 exercises are grounded in that same dataset. The interface includes a code editor with SQL syntax highlighting and autocompletion. You write a query, click Submit, and the app compares your results against the expected output by checking column names, row counts, and data values. It does not do simple text matching, so different valid ways of writing the same query can still pass. If your answer is wrong, you get specific feedback about what differs: which columns are off, how many rows are missing or extra, and any MySQL errors. Each exercise also has two or three progressive hints you can unlock, and the solution is available once you need it. There is also a table browser to explore the schema and a sandbox mode where you can run any SQL you want against the live local database without it being graded. Your progress is saved in browser storage so completed exercises stay marked across sessions. To run it, you need Docker (for the MySQL database), the Bun runtime, and a few setup commands to start the database, install packages, load the seed data, and launch the app. The whole stack runs locally on your machine on ports 3000 and 3001.

Copy-paste prompts

Prompt 1
What tables make up the DZTelecom schema and how are they related?
Prompt 2
How does the app compare my SQL answer to the expected result?
Prompt 3
What kinds of SQL exercises are included, DDL, SELECT, aggregations?
Prompt 4
How do I unlock hints or view the solution for an exercise?
Prompt 5
Can I run arbitrary SQL queries without affecting my progress score?
Open on GitHub → Explain another repo

← flh-raouf on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.