Skip to content
Michael Pisman edited this page Feb 19, 2026 · 13 revisions

Welcome to the CSE120 GitHub Workshop!

This workshop will guide you through a complete software development workflow using GitHub, Python, FastAPI, and modern development tools.

What You'll Learn

  • Git branching and pull request workflow
  • Issue tracking and project management
  • Test-driven development (TDD)
  • Continuous Integration/Continuous Deployment (CI/CD)
  • Docker containerization
  • Web API development with FastAPI
  • UI development with NiceGUI
  • Cloud deployment
  • Collaborative development and conflict resolution

The workshop is divided into two parts:

Part 1: Self-Paced Preparation

To be completed individually before class.

Welcome to the first part of the CSE120 GitHub Workshop!

This section is designed to be completed individually and before coming to the workshop class. By finishing these steps, you will set up your development environment, create your repository, and implement the initial project structure.

Overview

In Part 1, you will:

  1. Prerequisites and Git Basics: Ensure you have the necessary tools and understanding of Git.
  2. Create Repository: Set up your project repository within the class organization.
  3. Create Milestones and Issues: Plan your work using GitHub's project management tools.
  4. Setup Development Environment: Configure your local machine or Codespace.
  5. Add Health Endpoint: Create your first API endpoint.
  6. Add NiceGUI Interface: implement the UI shell for your application.
  7. Setup CI and Docker: Automate testing and containerization.
  8. Create Pull Request: Submit your work for review.

Goal

By the end of Part 1, you will have a Pull Request (PR) open in your repository that contains a basic FastAPI application with a health endpoint, tests, CI/CD, Docker support, and a NiceGUI interface. This PR will be ready for review and merging in Part 2.

Getting Started

Start with Prerequisites and Git Basics.

Good luck! 🚀

Part 2: In-Class Collaboration

To be completed in teams during week 5 lecture.

Overview

In Part 2, you will:

  1. Merge Pull Request: Merge the work you did in Part 1.
  2. Team Feature Development: Split into teams to develop new features in parallel.
    • You will learn about collaborative workflows.
    • You will encounter and resolve merge conflicts.
    • You will practice code review.
  3. Deploy to Render: Deploy your final application to the cloud.

Getting Started

Start with Step 8: Merge Pull Request.

Important Resources

Clone this wiki locally