An implementation of the Schul-Cloud client with NodeJS and Express.
Please note that this client is going to be deprecated. All new frontend works is done in Vue.js and can be found here: https://github.com/hpi-schul-cloud/nuxt-client
- node.js 12 or later
You might take a look at the Dockerfile to see some more dependencies and latest version informations.
Short setup version:
- Clone directory into local folder
- Go into the cloned folder and enter
npm install
- Install nodemon and gulp globally by entering
npm install -g nodemon gulp
- Start the schul-cloud server
- Go into project folder
- Run
gulp watch
to run gulp - Set the ENV-variable
TZ=Europe/Berlin
(for windows useset TZ=Europe/Berlin
). You can also set the variablesSC_TITLE=HPI Schul-Cloud
andSC_SHORT_TITLE=HPI Schul-Cloud
if you want. - run
npm run watch
to boot the application - go to
http://localhost:3100
Alternative with browser-sync
- run
gulp watch-reload
to run gulp with browser sync. It also starts the node-client-server. - go to
http://localhost:7000
For connecting to the SchulCloud Calendar-Service you have to set export CALENDAR_SERVICE_ENABLED=true
.
For connecting to the SchulCloud Notification-Service you have to set export NOTIFICATION_SERVICE_ENABLED=true
.
Add Themes to /theme directory. Call gulp and node with SC_THEME set to name of directory.
then clear build files and gulp cache with gulp clear
run set SC_THEME={themeName}
without spaces around the equal sign!
- Take the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. BC-999
- Name the feature branch beginning with Ticket Number, all words separated by dash "-", e.g.
feature/BC-999-fantasy-problem
- Create a PR on branch develop containing the Ticket Number in PR title
- Keep the
WIP
label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove theWIP
label. Reviewers will be added automatically.
Information: Please make sure that all your changes works on Chrome , Firefox and Safari!
For html/css components please check caniuse.
- Set the password for the demo user
[email protected]
Ubuntu/Mac:export SC_DEMO_USER_PASSWORD={PASSWORD}
(Without braces)
Windows:set SC_DEMO_USER_PASSWORD={PASSWORD}
(Without braces) - run
npm run test
- If you want to use another backend url than localhost, set the
API_HOST
andPUBLIC_BACKEND_URL
environment variables (see 1) - If you want to list the coverage, run
npm run coverage
Default branch: main
- Go into project folder
- Checkout to develop branch (or clone for the first time)
- Run
git pull
- Create a branch for your new feature named feature/BC-Ticket-ID-Description
- Run the tests (see above)
- Commit with a meanigful commit message(!) even at 4 a.m. and not stuff like "dfsdfsf"
- Start a pull request (see above) to branch develop to merge your changes