Code Monkey home page Code Monkey logo

schulcloud-client's Introduction

Schul-Cloud Client

An implementation of the Schul-Cloud client with NodeJS and Express.

Dev: Build Status Master: Build Status

Powered By

Mergify Status Lokalise Logo

Deprecation Warning

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

Requirements

  • 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:

  1. Clone directory into local folder
  2. Go into the cloned folder and enter npm install
  3. Install nodemon and gulp globally by entering npm install -g nodemon gulp

Run

  1. Start the schul-cloud server
  2. Go into project folder
  3. Run gulp watch to run gulp
  4. Set the ENV-variable TZ=Europe/Berlin (for windows use set TZ=Europe/Berlin). You can also set the variables SC_TITLE=HPI Schul-Cloud and SC_SHORT_TITLE=HPI Schul-Cloud if you want.
  5. run npm run watch to boot the application
  6. go to http://localhost:3100

Alternative with browser-sync

  1. run gulp watch-reload to run gulp with browser sync. It also starts the node-client-server.
  2. 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.

Theming

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

Windows

run set SC_THEME={themeName} without spaces around the equal sign!

How to name your branch and create a pull request (PR)

  1. Take the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. BC-999
  2. Name the feature branch beginning with Ticket Number, all words separated by dash "-", e.g. feature/BC-999-fantasy-problem
  3. Create a PR on branch develop containing the Ticket Number in PR title
  4. 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 the WIP label. Reviewers will be added automatically.

Testing

Information: Please make sure that all your changes works on Chrome , Firefox and Safari!
For html/css components please check caniuse.

  1. 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)
  2. run npm run test
  3. If you want to use another backend url than localhost, set the API_HOST and PUBLIC_BACKEND_URL environment variables (see 1)
  4. If you want to list the coverage, run npm run coverage

Commiting

Default branch: main

  1. Go into project folder
  2. Checkout to develop branch (or clone for the first time)
  3. Run git pull
  4. Create a branch for your new feature named feature/BC-Ticket-ID-Description
  5. Run the tests (see above)
  6. Commit with a meanigful commit message(!) even at 4 a.m. and not stuff like "dfsdfsf"
  7. Start a pull request (see above) to branch develop to merge your changes

Code rules

CSP rules

schulcloud-client's People

Contributors

mergify[bot] avatar adrianjost avatar tofixx avatar schurigh avatar abialoskorski avatar cordlesswool avatar parnswir avatar blackghosthd avatar ceev avatar metauriel avatar tratori avatar abralurrahman avatar mwolowyk-cap avatar devschmidtchen avatar langleu avatar haniapalac avatar alriese avatar danielrieckhof avatar jacquelinethorns avatar qnowak avatar janrenz avatar j-jmnz avatar kremer-io avatar nicoknoll avatar malcm avatar maxklenk avatar monaweitzenberg avatar dasgoogle avatar mastercarl avatar luizzaly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.