Portal for CS17 Students
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app cs17_portalThe student and faculty dashboard is a Vue 3 app in dashboard/, built with frappe-ui. It is served at /dashboard.
cd apps/cs17_portal/dashboard
yarn install
yarn dev # dev server; API calls are proxied to the bench on port 8000
yarn build # writes cs17_portal/public/dashboard and cs17_portal/www/dashboard.html
yarn typecheck
yarn lintyarn dev needs developer_mode on the site, since the dev server loads its boot data over the API. The build output is not committed.
End to end tests are in e2e/ and run with Playwright from the app root. Point them at your site:
SITE_HOST=cs17.localhost:8000 yarn test:e2edocs/dev-site.md covers setting up a local site and the demo data.
docs/answer-sheets.md explains answer sheets: the file a faculty uploads, and what students see.
docs/zip-preview.md explains how a ZIP submission is opened in the portal, for faculty and for students.
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/cs17_portal
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
This app can use GitHub Actions for CI. The following workflows are configured:
- CI: Installs this app and runs unit tests on every push to
developbranch. - Linters: Runs Frappe Semgrep Rules and pip-audit on every pull request.
mit