Skip to content

Add "Projects" to application #5

Description

@pconrad

Add a database table for "Project" to the application.

The Project table should have these fields:

  • id (Long,Autoincrement, Primary Key)
  • name (string)
  • description (string)
  • date created
  • owner (email address of the creator)

Add a Collaborators database table similar to the Staff table found in https://github.com/ucsb-cs156/proj-scaffold

Similar to the way https://github.com/ucsb-cs156/proj-scaffold works, users should see a list of Projects on their home page to which they have Owner access and to which they have Collaborator access.

To support this, add a ProjectTable React component that uses the OurTable pattern that shows the fields given, plus has Edit and Delete buttons. Consult https://github.com/ucsb-cs156/proj-scaffold for the user interface patterns for creating Courses for examples of what this should look like.

Base it on the CourseTable table in proj-scaffold, including having a column for Project Name with the icon showing a small graph, and also having a column for settings that links to a settings page for that Project (just like the table in proj-scaffold has a column for Course Name, and a column for Settings.)

Also, create a ResearcherProjectShowPage, but analogy with the InstructorCourseShowPage that you find in
https://github.com/ucsb-cs156/proj-scaffold that allows adding Staff---but instead of Staff, call them "Collaborators". This should be structured with tabs, just like the current InstructorCourseShowPage. The only tab for the moment will be the Collaborators tab, but others will come later.

If you have questions, or there are ambiguities, ask for clarification.

When done, make a pull request, and monitor for failing CI/CD checks. Add tests, or fix formatting as needed to get all CI/CD checks to pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions