hackforla / hackforla/peopledepot
Create Table: ProjectLeadsXref
- Dominant language
- Python
- Stars
- 14
- Forks
- 37
- Avg merge
- 9d 15h
- Merged PRs (30d)
- 5
Description
### Overview
We need to create the ProjectLeadsXref table to support many-to-many relationship between Project and User (specifically the project leads).
#### Details
A table and a model are the same thing
### Action Items
- [ ] Identify if table has a description (see spreadsheet under Resources)
- [ ] If not, reach out to PD leads
- [ ] Create a single model in Django (defining schema)
- [ ] Write a test for the relationships this model will have with other models (e.g., creating a project and assigning users as project leads).
- [ ] Write an API end point
- [ ] Write API unit tests
- [ ] Document the endpoint in Swagger
### Resources/Instructions
- See [People Depot Resources wiki page](https://github.com/hackforla/peopledepot/wiki/Resources-and-Links) for links
- ERD
- Table and Field Definitions
- API Endpoint
- See [this Wiki page](https://github.com/hackforla/peopledepot/wiki/Create-Table-issues-data-gathering-workflow) for instructions on the data-gathering workflow for Create Table issues
### Items to document (referenced above)
- Confirm the table description and relationships against the spreadsheet and ERD.
#### Description
- Cross-reference table associating projects with their project leads.
### Data Fields
| Name | Type | FK Table | FK Table Issue(s) |
| ---- | ---- | -------- | ----------------- |
| project | int | Project | #16 |
| lead | int | User | #15 |
### FK status
- #16 - closed
- #15 - closed
Contributor guide
Research direction
Start with the People Depot Resources wiki, especially the ERD, table and field definitions, and API endpoint guidance, then review the data-gathering workflow. Confirm the ProjectLeadsXref description and relationships, create the Django model, and add relationship tests, an API endpoint, API unit tests, and Swagger documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- api, backend, database, documentation, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100