Giter Site home page Giter Site logo

hpi-schul-cloud / schulcloud-client Goto Github PK

View Code? Open in Web Editor NEW
34.0 16.0 12.0 221.59 MB

Schulcloud-Verbund-Software-Client

License: GNU Affero General Public License v3.0

JavaScript 33.93% CSS 0.62% Dockerfile 0.07% SCSS 12.21% Handlebars 52.73% Jinja 0.44%
schulcloud education react schools classroom javascript

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.