Sign inSign up

schulcloud/schulcloud-server

By schulcloud

•Updated 6 days 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:19209f0b2…

Size

117.7 MB

Last updated

6 days ago

docker pull schulcloud/schulcloud-server