React Website

Author(s): Carol

Background and Motivation

The Waterloo Rocketry website serves an important outreach role, functioning as the first thing many potential members and sponsors will see. Transferring the website from HTML to React has been considered for a while now because a React-based website will allow the Rocketry site to be more modularized and lightweight, enabling easier maintenance and updates in the future. 

Project Description, Requirements and Scope

Description: The main objective of the React Website Project is to replace the current Waterloo Rocketry website frontend, written in static HTML, with a React frontend.

 

Requirements:

  1. All pages and links between pages in the static HTML site are replicated as React components and routes. 

  2. New information is added to the site to include information from IREC 2022.

  3. As with the old website, continual maintenance of the website will be required as new events happen every year. 

Scope: includes replicating all pages on the site in React in addition to updating the content of the website to include information from 2022 competitions. This will possibly (and most likely) also involve restructuring some old pages into a new, renovated look that people are happy with.

Required Documentation

  • GitHub readme documentation: 

    • General readme: A brief overview of what this repository is for and what it contains

    • Developers’ readme: how to set up the requirements (e.g. npm packages) in order to add new pages or update old content.

  • Confluence documentation:

    • A brief onboarding tutorial of React basics (assuming HTML5 background), including links to learn more about React

    • Overall file structure of the new repository 

    • Guide to adding new pages and updating content: this includes what information each page is meant to contain, code best practices, and a link to the ClickUp.

  • ClickUp: Any work that still needs to be done (e.g. pages that need to be created, updated, or removed).

Deliverables Timeline

Aug 20-26 2022: Project proposal complete and accepted, project started. 

Sept 30 2022: The landing page, Sponsorship, Join, and Competition pages are completed, with links updated in the header component.

Oct 31 2022: The Rocket pages are replicated in React with links updated.

Nov 30 2022: The Teams and Contact pages are replicated with links updated.

Dec 31/End of Fall Term: The Awards and Outreach pages are completed.

Jan 31 2023: All pages from the current site are completely replicated in the React repository.

Feb 27 2023: The pages are cleaned up/refactored/updated and documentation is completed.

Mar 31 2023: News from the previous year’s competitions are added.

Apr 30/End of Winter Term: Integration complete - the site is hosted and running on GitHub. 

Future: Continual maintenance and updating of pages 

Cost Analysis

Nada except time arguably the best currency of em all

Integration Concerns and Stakeholders

The website is a separate project from the rocket itself and the two projects are not interdependent, so the only integration concern is how to host the React site on GitHub once it’s complete. Members of the Rocketry team (namely Chamath) have already resolved this integration issue, so hosting should work. If not, we have reserved some time at the end to figure out how to do it.

 

Stakeholders are any team members in the future who will be working on updating and maintaining the website.