Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Engineering Workshop 2

A one-day beginner workshop covering a simple Django project, web scraping into PostgreSQL, Cursor Skills, and guided fix drills.

Prerequisites

Before you start

  • Complete Workshop 1 (Docker basics, simple web scraping, PostgreSQL basics, Git basics)
  • Keep the same machine setup from Workshop 1 ready to use

Software

  • Python 3.9 or above (pip3 available)
  • Docker and Docker Compose
  • Git (any recent version)
  • Cursor installed (required for the Skills and fix-drill sessions)

Project setup

  • A Git account (GitHub or GitLab — the same one from Workshop 1 is fine)
  • Open this Workshop 2 folder in Cursor on workshop day
  • Use the provided myworld/ sample project. Do not run django-admin startproject myworld inside this folder (it already exists and would conflict)
  • Prefer docker compose (space). Older machines may still have docker-compose (hyphen). The file name is always docker-compose.yml

Quick checks

Run these in a terminal:

python3 --version
git --version
docker --version
docker compose version || docker-compose --version

All commands should print a version without errors. Cursor should open this project successfully.

Learning outcomes

By the end of this workshop, you will be able to:

  • Explain Django at a beginner level and run a simple Dockerized Django Admin project
  • Scrape a workshop-style page (Python Insider) and store rows in PostgreSQL
  • Explain what a Cursor Skill file is and when to use one
  • Use the workshop scraper Skill with a URL and store data in the expected database tables
  • Use Cursor with five provided prompts to fix common beginner errors

About Cursor in this workshop

We use Cursor as the editor. In the afternoon you will:

  1. Use a Skill (a SKILL.md file with project-specific instructions)
  2. Paste prompts into Cursor Chat so Cursor can follow that Skill and help fix code

You do not need to build a separate custom agent. “Cursor Chat” is the built-in AI chat in Cursor (sometimes labeled Agent). Skills tell that chat how to work for this project.

Schedule

Time Topics
09:00–09:45 Introduction to Django
09:45–11:15 Creating a Django Project
11:15–01:00 Dockerizing the project
01:00–02:00 Lunch
02:00–03:15 Web scraping using Python
03:15–04:15 Saving scraped data in Postgres
04:15–04:40 What is a Skill + scrape Skill
04:40–05:00 Cursor fix drills
After class Homework

Project layout

Path Purpose
myworld/ Live Django project and scraper
.cursor/skills/workshop-blog-scraper/ Workshop scraper Skill
cursor_fix_drills/ Runnable fix drills (fail → fix with Cursor → succeed)
docs/ Step-by-step guides for each session
docs/homework/ Optional topics for after class
vulnerability.txt Notes about demo passwords (lab use only)

If time is short

Complete in this order: scrape → save to PostgreSQL → Skill demo. Fix drills can be completed quickly by pasting the prompt from each scenario README.md and checking the result.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages