Hyperplanner
Web App for planning/reviewing all 4 years of college!
Install / Use
/learn @JeremyTsaii/HyperplannerREADME
List of currently-supported schools:
- Harvey Mudd College
How was this developed?
-
TypeScript and React used for Frontend
-
AWS (S3, SQS, SNS, Textract, Lambda, API Gateway) and Python used for transcript text recognition (repo)
-
AWS (Lambda, API Gateway, AppSyn) and Golang used for querying courses (repo) - experimental
-
Netlify used for deployment of the web app
-
Travis CI used for CI/CD tests
-
Jest/React Testing Library used for unit tests
-
Prettier and ESLint (Airbnb preferences) used for best coding practices
-
Auth0 used for user authentication/authorization
-
Google Analytics used to track site statistics
Where is the Backend?
The Backend of HyperPlanner uses Hasura, which is an open source engine connecting our PostgreSQL Database to our GraphQL Backend. This is hosted on Heroku, located here. The Frontend communicates with the GraphQL engine using Apollo Client.
What is the development workflow?
First clone the repository onto your local machine. You can then run the following commands:
npm install
Install all of the depedencies.
npm run start
Runs the app in the development mode with live updates.<br /> Open http://localhost:3000 to view it in the browser.
npm run format:fix
Formats the files with Prettier.<br />
npm run lint:fix
Lints the files with ESLint.<br />
npm run test
Runs the test suite. Make sure that all tests pass before committing/pushing!<br />
Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
