hackforla / hackforla/HomeUniteUs

07.03 Milestone Tracker | Enhance codebase readability and documentation

Open
#771 4 comments 0 reactions 0 assignees View on GitHub
Complexity: Extra Large Feature: Tech Debt Milestone Tracker Role: DevOps size: 3pt
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.