From f9d3596b206a3bf5d019b310f5e0483ba3ff9ee2 Mon Sep 17 00:00:00 2001 From: Steve Brownlee Date: Sat, 16 Mar 2024 11:08:55 -0500 Subject: [PATCH] New layout for dashboard. Rules of engagement added. --- src/components/StudentViews.js | 4 + .../dashboard/student/StudentInfo.js | 76 ++++++++-------- src/components/info/RulesOfEngagment.js | 89 +++++++++++++++++++ src/components/nav/StudentNavBar.js | 6 +- 4 files changed, 132 insertions(+), 43 deletions(-) create mode 100644 src/components/info/RulesOfEngagment.js diff --git a/src/components/StudentViews.js b/src/components/StudentViews.js index 9c625b2..a6ae4e3 100644 --- a/src/components/StudentViews.js +++ b/src/components/StudentViews.js @@ -12,6 +12,7 @@ import { LearningGoals } from "./info/Goals" import { Repos } from "./info/Repos" import { ServerAssessment } from "./info/ServerSideRequirements" import { StudentDashboard } from "./dashboard/student/StudentDashboard.js" +import { RulesOfEngagment } from "./info/RulesOfEngagment.js" export const StudentViews = () => { return <> @@ -23,6 +24,9 @@ export const StudentViews = () => { + + + diff --git a/src/components/dashboard/student/StudentInfo.js b/src/components/dashboard/student/StudentInfo.js index e7ffadf..323532d 100644 --- a/src/components/dashboard/student/StudentInfo.js +++ b/src/components/dashboard/student/StudentInfo.js @@ -28,14 +28,18 @@ export const StudentInfo = ({ profile }) => {

Current Project

-
{profile?.project?.book_name}: {profile?.project?.name}
+ { + profile && "project" in profile && profile.project.id === 0 + ?
None
+ :
{profile?.project?.book_name}: {profile?.project?.name}
+ }
-
+
-
+

Book Assessment Status

{ profile?.assessment_overview?.length > 0 @@ -43,16 +47,14 @@ export const StudentInfo = ({ profile }) => { : "No self-assessments submitted yet" }
-
-

+

+

Book Self-Assessments

-

+

- When you are ready to start the self-assessment process for the - book you are currently working on, please click the button below to - let your instructors know. + You are done with the core projects in a book and need the link from an instructor to start your self-assessment project.

-

+

-

+

- When you have completed your reflections on your learning goals for this - book, please click the button below to let your instructors know to review - your vocabulary on the concepts. + You are done with your self-assessment project and are ready to review vocabulary with an instructor.

+ >Request Vocab Review

-
-
+
+

Capstone Assessment Status

{ profile?.capstones?.length > 0 ? profile?.capstones?.map(capstone => ) - : "No proposals submitted yet" + : "No capstone proposals submitted yet" }
-
+

Capstone Project Proposals

-
-

- When you are ready to start building your capstone proposal, - please click the button below and make a copy of the template document. -

- -
- -
-

- When you are ready to submit your capstone proposal, click the - button below to let your instructors know that it is ready for review. -

- -
+

+ When you are ready to start building your capstone proposal, + please click the button below and make a copy of the template document. +

+ + +

+ When you are ready to submit your capstone proposal, click the + button below to let your instructors know that it is ready for review. +

+
diff --git a/src/components/info/RulesOfEngagment.js b/src/components/info/RulesOfEngagment.js new file mode 100644 index 0000000..c867b54 --- /dev/null +++ b/src/components/info/RulesOfEngagment.js @@ -0,0 +1,89 @@ +import React from "react" +import { Heading } from '@radix-ui/themes'; +import "./Goals.css" + +export const RulesOfEngagment = () => { + return
+ + Rules of Engagement for NSS Sprint Teams + +
    +
  • The point of sprints is for you to really learn these concepts that you were exposed to in the individual projects and start becoming a professional developer.
  • +
  • Your goal is not to "get it done". You will be focused on that on the job, but not here.
  • +
+ + Git/Github Workflows + +

Here's the link again to the Github Workflow Reference that everyone must use during this project.

+ + Git Branching Strategy + +

As a team, review the The Ultimate Guide to Naming Git Branches: Best Practices and Tips article. All branch names must follow the strategy that your team agrees upon.

+ +
    +
  • Main Branch: Reserved for production-ready code.
  • +
  • Development Branch: Acts as a pre-production branch where code is merged after thorough + testing.
  • +
  • Feature Branches: Created for new features or bug fixes. They should branch off from and merge + back into the development branch once completed.
  • +
  • Naming Conventions: Use descriptive names for branches (e.g., + feature/user-authentication, bugfix/login-issue).
  • +
  • Merge Requests: Require peer review before merging into the development branch.
  • +
  • Keep Branches Updated: Regularly rebase feature branches with the current development branch to + minimize merge conflicts.
  • +
+ + Comprehensive Pull Requests + +

As a team, review the Writing A Great Pull Request Description article. When each teammate pushes a branch to be reviewed and/or approved by a peer, it is expected that a comprehensive, detailed description has been added to the pull request.

+ +
    +
  • Descriptive Titles: Clearly state the purpose of the pull request (PR).
  • +
  • Detailed Descriptions: Include information such as what changes have been made, why the changes + are necessary, and any specific things to look for during review.
  • +
  • Link Tickets: Reference related ticket numbers.
  • +
  • Small, Manageable Sizes: Keep PRs focused on a single feature or bug fix to facilitate easier + review.
  • +
  • Code Review: Watch the How to Review a Pull Request in GitHub the RIGHT Way video for how you should review a teammate's PR. Require at least one (preferably more) team member to review the PR for quality, standards, and functionality.
  • +
  • Documentation Updates: Ensure any necessary documentation updates are included.
  • +
+ + Ticket Creation + +

As a team, review the Writing a proper GitHub issue article to learn the basics of how you should approach creating a ticket to describe work that must be done on the project.

+ +
    +
  • Clear Titles: Use descriptive titles that provide a clear understanding of the task.
  • +
  • Detailed Descriptions: Include all necessary details, such as requirements, expected behavior, + and acceptance criteria.
  • +
  • Assignment: Assign tickets to relevant team members based on expertise and workload.
  • +
  • Tracking Progress: Update ticket status as it moves through stages (To Do, In Progress, Review, + Done).
  • +
+ + Definition of Done (DoD) + +
    +
  • Code Completeness: Feature implementation is complete as per ticket descriptions and acceptance + criteria.
  • +
  • Code Quality: Code adheres to coding standards, and does not introduce new bugs.
  • +
  • Documentation: All necessary documentation has been updated or added. Review the Make a README site for tips on creating the team's README for the project.
  • +
  • Peer Review: Code has been reviewed and approved by at least one other team member.
  • +
  • Testing: Changes are fully tested, including unit, integration, and, where applicable, + end-to-end tests. Test coverage meets the team’s minimum threshold.
  • +
+ + Continuous Integration/Continuous Deployment (CI/CD) + + This section is only for sprints done at the end of the program. + +
    +
  • Automated Builds: Use automated builds to ensure that the codebase is always in a buildable + state.
  • +
  • Automated Testing: Implement automated testing as part of the CI pipeline to catch bugs early + and ensure software quality.
  • +
  • Deployment Strategy: Define strategies for deployment, including blue-green deployments, canary + releases, or feature flags, to minimize disruption and facilitate rollback if needed.
  • +
+
+} diff --git a/src/components/nav/StudentNavBar.js b/src/components/nav/StudentNavBar.js index 69eb4a3..d327544 100644 --- a/src/components/nav/StudentNavBar.js +++ b/src/components/nav/StudentNavBar.js @@ -37,13 +37,13 @@ export const StudentNavBar = () => { {makeLink("/", "Overview")}
  • - {makeLink("/goals", "Core Skills")} + {makeLink("/assessment", "Capstones")}
  • - {makeLink("/assessment", "Capstones")} + {makeLink("/goals", "Core Skills")}
  • - {makeLink("/readme", "README Resources")} + {makeLink("/roe", "Rules of Engagement")}
  • { isAuthenticated()