-
Notifications
You must be signed in to change notification settings - Fork 3
Home
This workshop will guide you through a complete software development workflow using GitHub, Python, FastAPI, and modern development tools.
- 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:
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.
In Part 1, you will:
- Prerequisites and Git Basics: Ensure you have the necessary tools and understanding of Git.
- Create Repository: Set up your project repository within the class organization.
- Create Milestones and Issues: Plan your work using GitHub's project management tools.
- Setup Development Environment: Configure your local machine or Codespace.
- Add Health Endpoint: Create your first API endpoint.
- Add NiceGUI Interface: implement the UI shell for your application.
- Setup CI and Docker: Automate testing and containerization.
- Create Pull Request: Submit your work for review.
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.
Start with Prerequisites and Git Basics.
Good luck! 🚀
To be completed in teams during week 5 lecture.
In Part 2, you will:
- Merge Pull Request: Merge the work you did in Part 1.
-
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.
- Deploy to Render: Deploy your final application to the cloud.
Start with Step 8: Merge Pull Request.