Skip to content

Create Table: project #16

@ExperimentsInHonesty

Description

@ExperimentsInHonesty

Overview

We need to create the Project table so that we can update a shared data store across hackforla.org, vrms, civictechjobs, and tables (onboarding) project.

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
  • identify and document (below) what other tables are associated (see ERD under Resources)
  • 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 user and assigning them a set of permissions on a project). - no relationships yet
  • Write an API end point
  • write API unit tests
  • Document the endpoint in Swagger

Resources/Instructions

Items to document (referenced above)

Description

  • List of projects

Data Fields

  1. Copied from spreadsheet and checked off according to ERD. Data fields are bolded and relation fields are not.

    • (PK) id - Int - Record Id
    • name - String
    • description - String
    • created_at - timestamp
    • updated_at - timestamp
    • completed_at - timestamp
    • github_org_id - char(8) - Record Id
    • github_primary_repo_id - char(9) - Record Id
    • github_primary_url - varchar()
    • (FK) current_status - Int (status ID)
    • hide - Boolean
    • (FK) location - Int (location ID)
    • slack_url - URLString
    • google_drive_url - URLString
    • google_drive_id - char(?) - Record Id
    • hfla_website_url - stringurl
    • leads - int[] (user_id)
    • (FK) leadership_type - int (leadershipType id)
    • image_logo - UrlString - 600x400 image for the project cards
    • image_hero - UrlString - Image that appears on the project page
    • image_icon - UrlString - tiny square image for linking to the project from other sites
    • readme_url - url varchar
    • wiki_url - url varchar
  2. In ERD only - None

Associated Tables

  1. Copied from spreadsheet and checked off according to ERD

    • accomplishment (one-to-many)
    • cancelled_event (one-to-many)
    • event (one-to-many)
    • event_history (one-to-many)
    • faq_viewed (one-to-many)
    • permission (one-to-many)
    • permission_history (one-to-many)
    • project_language_xref (one-to-many)
    • project_partner_xref (one-to-many)
    • project_program_area_xref (one-to-many)
    • project_sdg_xref (one-to-many)
    • project_status_history (one-to-many)
    • project_technology_xref (one-to-many)
    • project_url (one-to-many)
    • recurring_event (one-to-many)
    • user_check (one-to-many) - Missing line in ERD
    • leadership_type (many-to-one)
    • location (many-to-one)
    • project_status (many-to-one)
    • win (many-to-many array of IDs)
  2. In ERD only - None

Swagger Endpoint Link

Metadata

Metadata

Assignees

Type

No type

Projects

Status

✅Done

Relationships

None yet

Development

No branches or pull requests

Issue actions