Skip to content

err-oussama/13SQL-workshop

 
 

Repository files navigation

🏛️ SQL Mastery Workshop Platform

SQL SQLAlchemy

A technical workshop platform designed for the SQL & SQLAlchemy deep-dive. This system orchestrates the delivery, grading, and progress tracking of database exercises using a Thin Client / Thick Server architecture.

📅 Workshop Schedule

Day 1: Pure SQL Foundations

  • Relational Modeling: Tables, Keys, and Normalization.
  • Basic Queries: SELECT, WHERE, ORDER BY, LIMIT.
  • Relationships: INNER JOIN, Multiple Joins.
  • Aggregations: COUNT, SUM, AVG, GROUP BY.
  • Final Challenge: E-commerce Analytics.

Day 2: SQLAlchemy (Python ORM)

  • Why ORM?: Object-Relational Mapping concepts.
  • SQLAlchemy Basics: Engine, Session, and declarative Base.
  • Models: Mapping Python classes to SQL tables.
  • CRUD: Creating, Reading, Updating, and Deleting records.
  • Relationships: One-to-Many and Many-to-Many in code.

🚀 Getting Started

1. Prerequisites

  • Python 3.10+
  • pip install poetry sqlalchemy textual httpx

2. Start the Server

make run-server

3. Start the Client (TUI)

make run-client

🛠️ How it Works

  1. Interactive Subjects: The TUI displays the exercise details and database schema.
  2. Local Work: You write your SQL or Python code in the rendu/ folder.
  3. Automated Grading: When you click Submit, the system executes your code against a local SQLite database and verifies the results instantly.

📁 Project Structure

  • client/: The Textual TUI application.
  • server/: The FastAPI backend for progress tracking.
  • data/exercises/: The workshop content (Level 00: SQL, Level 01: SQLAlchemy).
  • data/shared/workshop.db: The pre-populated training database.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 86.6%
  • HTML 10.6%
  • Makefile 2.6%
  • CSS 0.2%