Sign inSign up

schulcloud/schulcloud-server

By schulcloud

Updated about 22 hours ago

Schul-Cloud backend server based on NodeJS and FeatherJS

Image
1

500K+

schulcloud/schulcloud-server repository overview

Schul-Cloud Server

Based on Node.js and Feathers

Dev: Build Status Master: Build Status

codecov Version

Swagger UI documentation is available here. When running the server locally, it is served at http://localhost:3030/docs/.

Requirements

  • node.js
  • mongoDB

Setup

You will need the client as well. For more detailed setup instructions, take a look here. It is written for Windows but the procedure is similar for other OS.

Run

  1. Go into project folder
  2. run mongod
  3. run npm start
  4. run npm run setup

Debugger Configuration in Visual Studio Code

For more details how to set up Visual Studio Code, read this document.

How to name your branch

  1. Take the Ticket Number from JIRA (ticketsystem.schul-cloud.org), e.g. SC-999
  2. Name the branch beginning with Ticket Number, all words separated by dash "-", e.g. SC-999-fantasy-problem
  3. Create a PR containing the Ticket Number in PR title
  4. Add the [WIP] label as long as this PR is in development, remove label and request reviewers if you are done and Definition of Done (will get added here later on) are met.

Testing

Run tests
  1. Go into project folder
  2. run npm run test
Create tests
  1. Create a folder for the "service" you're working on in "/test/services"
  2. Create a file "user.test.js" for frontend tests (e.g. clicking a link or check if url is available)
  3. Create a file "unit.test.js" for backend tests (e.g. calculating a number)

Try to cover as many methods as possible unit test wise - goal is 100% of course, so one test per method.

Commiting

Default branch: develop

  1. Go into project folder
  2. Run the tests (see above)
  3. Commit with a meanigful commit message(!) even at 4 a.m. and not stuff like "dfsdfsf"
  4. Checkout to master branch
  5. Run git pull
  6. Checkout to the branch you want to upload
  7. run git rebase -p develop (not git merge!) and solve merge conflicts if needed
  8. run git push

Tag summary

Content type

Image

Digest

sha256:bf0457315

Size

117.7 MB

Last updated

about 22 hours ago

docker pull schulcloud/schulcloud-server