To reduce the staff workload managing weekly bouldering league data while creating a higher quality user experiance to create community engagement during the 4 week event.
- Enable Climbers to submit weekly session scorecard
- View Team Rankings
- Each team has a team page "example.com/2024_SNA/teams/$TEAM-ID"
- Each climber has a profile page "example.com/2024_SNA/climber/$CLIMBER-ID"
- Event Rules/History
- Weekly Event Blog/Huddle/Updates/Last Week Interesting Data
- Server/API
1) npm run buildServer 2) npm run startServer
- Client
1) npm run buildClient 2) npm run startClientServe
- Databases
- mySQL (relational)
- climber
- scorecard
- event
- mySQL (relational)
- Server (Node 18.18.0)
- NPM Packages
- @apollo/server (4.10.0)
- body-parser (1.20.2)
- cors (2.8.5)
- dotenv (16.3.1)
- express (4.18.2)
- express-rate-limit (7.1.5)
- graphql (16.8.1)
- graphql-http (1.22.0)
- helmet (7.1.0)
- mysql2 (3.7.0)
- react (18.2.0)
- sequelize (6.35.2)
- NPM Packages
- Client (React 18.2.0)
- NPM Packages
- @apollo/client
- @emotion/react
- @emotion/styled
- bootstrap
- jquery
- react
- react-bootstrap
- react-dom
- react-material-symbols
- react-popper
- react-router-dom
- react-scripts
- react-switch
- reactjs-popup
- NPM Packages
Host: ThinClient Docker
- Client:
- API:
Database: Self Host via Docker
- mySQL
Version Control: GitHub