a webapp that interacts with the graphql api of the code learning platform to help students plan their studies in advance and better understand their requirements.
docker compose up
this requires the additional LP_ACCESS_TOKEN
environment variable, which can be the learning platform access token of any account.
NODE_ENV=development bun run backend/seeding.ts
npm install
(5) run the development server on http://localhost:3000
npm run dev
study planner is open to PRs, issues, and general feedback!
- create your study plan by signing in with your access token
- drag and drop modules into your study plan
- preview your study progress and bachelor's grade
- get suggestions for your study plan
components are as logic-less as possible and only used for presentation. logic is handled in hooks (e.g. ECTSPanel, useECTSPanel)
logic for interacting with logic like useChatSelection or useLearningPlatform are encapsulated to make it easier to consume. the StudyPlannerApiClient class is also an example of this, providing type safety for interacting with our api endpoints
components don't depend on the inferred types of the database entities, but have their own types defined in types.ts
, and are transformed into them in mapping.ts
. this allows us to compute our own fields more easily and only have to react to learning platform api changes in a single place.