Skip to content
This repository has been archived by the owner on Nov 24, 2019. It is now read-only.
/ STF-Refresh Public archive

Web Refresh of the UW STF website with a scalable codebase and modern best-practices

License

Notifications You must be signed in to change notification settings

RcKeller/STF-Refresh

Repository files navigation

Alt text

UW STF Web Refresh

JavaScript Style Guide title Code Climate

This is the new uwstf.org - an IT project management webapp used to allocate $5 million dollars across over 100 campus technology projects annually. Any campus organization can use this to begin their own technology projects and seek student endorsement. The STF Committee can use this web platform to review proposals, administer decisions, disperse awards and audit department finances.

The refresh project was an initiative to aggressively modernize the committee and build quality into committee processes. The traditional proposal process has been redefined as a project plan format, encouraging authors to present their information as a "change" to the academic environment. In regards to engineering, we've modernized our stack as much as possible by incorporating best-practices and thinking about the future in our engineering efforts. For more information, read the business case.

Technology overview

Summary: Single Page Application w/ Server-Side Rendered React/Redux. Based on Ant Design by AliBaba, styled with CSS modules and LESS. Served by a Node, Express and MongoDB backend.

Front-End

  • Client Framework: React
    • Chosen due to its declarative nature, extensibility, and robust internals / community support. Well supported per State of JS.
  • UI/UX Language: Ant Design by AliBaba
  • State Management: Redux, with Redux-Query for caching and managing network state.

Back-End

  • Server: Node.JS
    • Chosen for ease of use and development velocity, in addition to working well in our use case (Server Side Rendering).
  • Router: Express router implementing Restify APIs
  • Authentication: Dual-Auth strategy implementing Passport for UW Shibboleth (SAML) and Google (OAuth2).
    • Generates mock student profiles in development mode using Google user data.
  • Database: MongoDB, using Mongoose for ODM and the autoref / autopopulate plugins.
    • Chosen for ease of manipulation and to encourage future developers to manipulate documents outside of the DB, preserving data integrity.

JavaScript Style Guide

About

Web Refresh of the UW STF website with a scalable codebase and modern best-practices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published