Skip to content

Instantly share code, notes, and snippets.

@decagondev
Created October 27, 2025 23:02
Show Gist options
  • Save decagondev/9fc5402dc46a62b4c05f36c735502187 to your computer and use it in GitHub Desktop.
Save decagondev/9fc5402dc46a62b4c05f36c735502187 to your computer and use it in GitHub Desktop.

Labs DS Setup Guide

Project: Bander Snatch - Hoylake Computer Club Data Science Labs
Course: Unit 1, Sprint 2

1. Access Starter Repository

  1. Navigate to Unit 1, Sprint 2 → Module 1: Onboarding & Planning
  2. Scroll to Local Setup section
  3. Click the link to the Bander Snatch Starter repository

2. Fork the Repository

  1. Click the Fork button
  2. Select your GitHub account
  3. Optional: Rename (e.g., bandersnatch-starter-yourname)
  4. Click Create Fork

3. Clone Locally

Create a project folder:

mkdir LabsDS
cd LabsDS

Clone your fork:

git clone https://github.com/your-username/bandersnatch-starter-yourname.git
cd bandersnatch-starter-yourname

Windows without Git: Use WSL by running wsl first, then the git clone command.

4. Open in VS Code

code .

Click "Trust the authors" when prompted.

5. Set Up Python Environment

Create virtual environment:

python -m venv venv

Activate it:

# Windows
venv\Scripts\activate

# macOS/Linux
source venv/bin/activate

You should see (venv) in your terminal prompt.

6. Install Dependencies

Upgrade core tools:

python -m pip install --upgrade pip setuptools wheel

Install requirements:

pip install -r requirements.txt

7. Run the Application

Start the Flask server:

python -m app.main

Open http://127.0.0.1:5000 in your browser.

You should see: "Bander Snatch – Sprint Zero: Proof of Setup"

8. Configure Database

Create a .env file in the project root:

DB_URL=mongodb+srv://<username>:<password>@cluster0.xxxxx.mongodb.net/bandersnatch?retryWrites=true&w=majority

Get your MongoDB URL:

  1. Sign up at MongoDB Atlas
  2. Create a Shared Cluster
  3. Add your current IP address
  4. Copy connection string and replace <password> with your actual password

9. Start Sprint 1

Switch to Sprint 1 mode:

  1. Open app/main.py
  2. Change:
    SPRINT = "sprint_zero"
    to:
    SPRINT = "sprint_one"
  3. Save the file

Restart the server:

# Press Ctrl+C to stop
python -m app.main

Refresh your browser to see "Bander Snatch – Sprint One"

10. Sprint 1: Ticket #1

Implement the following functions in app/data.py:

  • seed()
  • reset()
  • count()
  • get_dataframe()
  • get_html_table()

Workflow:

  1. Read the full ticket requirements in README.md
  2. Implement functions one by one
  3. Test in the browser after each implementation
  4. Data section will initially show "Count: None" until functions are complete

Support

Questions? Ask in the #team-labs-current channel.


Setup Complete
You now have a fully configured local environment ready for development.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment