Milestone 2: Infrastructure#
In this milestone, you will set up your github monorepo with appropriate CI/CD and documentation infrastructure.
Wrapping up Milestone 1#
On your project repository, click “Sync Fork” to update your
instructionsbranch.Follow the instructions in the
README.mdto merge your changes from brachm1into a newly createdmainbranch.
File Structure#
Overall repo structure:
README.md
docs/
├── <documentation code>
app/
├── <code for your App Dev III project work>
reterminal/
├── <subsystem1>
├── <subsystem2>
├── <subsystem3>
Each project subsystem:
subsystem/
├── controller
│ ├── pyproject.toml
│ ├── README.md
│ └── ...
├── dashboard
│ ├── package.json
│ ├── README.md
│ └── ...
If you’re not sure how to to start, each team member should add their assignment 1 code to a
reterminal/subsystem/ directory. You will adapt your assignment 1 code to meet the
requirements of your project in assignment 2 and future milestones.
Repository Management Tasks#
In class on April 10, we collaboratively filled the following forms with project management tasks for each team and each group member: https://forms.office.com/r/HmcjW9ACKn
The tasks:
Task |
Short description |
Example skills/techniques |
|
Creating documemtation that usefully summarizes your project and how to use it. |
GitHub Readmes, static site generator, automated API documentation |
|
Keeping track of your projects history through an explicit versioning scheme |
Semantic versioning, changelogs, integration with github/build process |
|
Making your project code easy to distribute to others, both from source code and from a package manager |
Creating a usable CLI/API for building/running from source, making a python project available on |
|
Creating and enforcing project standards for formatting, linting, functionality |
writing unit tests for python/typescript, configuring tools for formatting/linting, automating with GitHub Actions |
|
how to write git commits and use branching, along with versioning, that makes reverting to previous changes / contributing to your project sane rather than stressful/annoying |
|
|
tracking work over time, and remaining work, using issue management. Ideally, associating pull requests with issues |
GitHub Issues, Jira |
|
? |
? |
Requirements (due April 13)#
Participate in the discussion about what tasks are important for your group on April 10
Participate in the discussion (after deeper reflection) about what tasks are important for your group on April 13
Complete the microsoft form about your personal/team preferences for project management tasks by Friday April 10
Delegate tasks among team members
Create GitHub Issues for this, tag the group member(s) assigned to the task
Each partner should have at least started their tasks by Monday April 13
Each partner should have pushed their assignment 1 code to a
reterminal/subsystemdirectory (see the File Structure section above)