hackforla / hackforla/HomeUniteUs
07.03 Milestone Tracker | Enhance codebase readability and documentation
- Dominant language
- Python
- Stars
- 45
- Forks
- 22
- Avg merge
- 15d 1h
- Merged PRs (30d)
- 1
Description
### Overview
In order to better engage dev volunteers, especially more junior volunteers, we need to make our codebase more readable and provide better documentation.
### Action Items
- [x] See if there is Hack for La best practices documentation that can help with this effort - Lola to ask Bonnie
- Website team has some [wiki pages](https://github.com/hackforla/website/wiki#quick-refs-for-developers) we could mimic
- Heejung Hong could be a resource. Dev for TDM Calculator is good example of team effectively working with jr developers and quality code
- [x] Add any additional milestones needed below and validate timeline
- [ ] Commit a dev to attend weekly devops
- [x] #785 - Ready to discuss with team, [Link to page created in Wiki](https://github.com/hackforla/HomeUniteUs/wiki/Decision-Records)
#### Backend
**6.0.2.1 FastAPI**
- [x] Research
- [x] #773 - Assigned to John, Tyler to assist
- [x] #777 - Assigned to Paul
- [ ] Implementation
- [x] Tyler to complete big merge of an existing unrelated PR before branching
- [ ] #788 assigned to Erik
- [ ] #789 assigned to Paul, John to assist
- [ ] Erik to open PR to connect frontend
- [ ] update all 9 controllers [see assignment in this comment](https://github.com/hackforla/HomeUniteUs/issues/788#issuecomment-2347538647)
- [ ] rearrange endpoints/controllers as needed
- [ ] Confirm dependencies are updated for each controller changed
- [ ] Marshmellow to Pydantic - need to create schemas
- [ ] Folder structuring
- [ ] Update build scripts (test scripts)
- [ ] Update Docker file configuration
- [ ] documentation
- [ ] diagram/descriptions
- [ ] important to document authentication process
- [ ] identify other key areas to document
**RBAC**
- [ ] #774 - Parent Issue (icebox)
- [ ] #775 - Assigned to Tyler
- [ ] #776 - Assigned to Erik
**Data Modeling/Object Design/Code Cleanup**
- [ ] Create one very clear API method with best practice. Object Design ([figma board link](https://www.figma.com/board/4u0XSFJG1chdB4oZRhWKUZ/FigJam-HUU-Object-Design-Workshop?node-id=0-1&node-type=CANVAS&t=NzP5UsUL2u3V2RN6-0))
- [ ] Cleanup interface oriented patterns on backend (decouple database code from http code) - when we get to this, identify specific areas of code which need to be looked at and assign it out
**Documentation**
- [ ] #778
- [ ] Identify other key areas to document
**Onboard backend Devs**
- [ ] Determine how many we need
#### Frontend
No system in place for adding components/services. (Not a blocker for onboarding resources)
- [ ] Write documentation
- [ ] Refactor (file structure/folders)
#### Github Wiki
- #381
#### Developer Experience
Once the items above are complete, we can work on Developer Experience improvements, and potentially recruit a volunteer as a Developer Experience Expert. This would entail improvement to tooling, integrations, unit tests, storybook, Figma integration. We should prioritize items that improve developer efficiency/junior developer accessibility.
### Resources/Instructions
Contributor guide
Assessment
This issue has not been assessed yet.