All Projects → schul-cloud → Schulcloud Server

schul-cloud / Schulcloud Server

Licence: agpl-3.0
Schul-Cloud Core Server

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Schulcloud Server

Shuttle
Easily create native mobile applications.
Stars: ✭ 36 (-37.93%)
Mutual labels:  education
Olinjs
A practical web development course teaching Node.js, MongoDB, and other modern technologies
Stars: ✭ 41 (-29.31%)
Mutual labels:  education
Sonic Pi
Code. Music. Live.
Stars: ✭ 8,736 (+14962.07%)
Mutual labels:  education
Bookmarks.dev Frontend Only Archive
Bookmarking for Developers & Co
Stars: ✭ 38 (-34.48%)
Mutual labels:  education
Apcsa Public
AP Computer Science A Curriculum Materials
Stars: ✭ 41 (-29.31%)
Mutual labels:  education
W3 Goto World
🍅 Git/AWS/Google 镜像 ,SS/SSR/VMESS节点,WireGuard,IPFS, DeepWeb,Capitalism 、行业研究报告的知识储备库
Stars: ✭ 7,886 (+13496.55%)
Mutual labels:  education
Mldm
потоковый курс "Машинное обучение и анализ данных (Machine Learning and Data Mining)" на факультете ВМК МГУ имени М.В. Ломоносова
Stars: ✭ 35 (-39.66%)
Mutual labels:  education
Golang Examples
Go(lang) examples - (explain the basics of #golang)
Stars: ✭ 1,070 (+1744.83%)
Mutual labels:  education
Devflowcharter
Flowchart builder and code generator.
Stars: ✭ 41 (-29.31%)
Mutual labels:  education
Dsci 100
Repository for UBC's Introduction to Data Science course (DSCI 100)
Stars: ✭ 46 (-20.69%)
Mutual labels:  education
Hmm for autonomous driving
🎓 Educational application of Hidden Markov Model to Autonomous Driving 🚕🚙🚗
Stars: ✭ 39 (-32.76%)
Mutual labels:  education
Awesome Js Books
📚 🤓 - Awesome Javascript Books
Stars: ✭ 40 (-31.03%)
Mutual labels:  education
Codepost Python
Provides a convenient Python interface to the codePost API. Start scripting!
Stars: ✭ 46 (-20.69%)
Mutual labels:  education
Minerva Training Materials
Learn advanced data science on real-life, curated problems
Stars: ✭ 37 (-36.21%)
Mutual labels:  education
Lectures
Lecture scripts and slides I use during the Software Engineering course at TU Dresden
Stars: ✭ 52 (-10.34%)
Mutual labels:  education
Plannerapp blazor
PlannerApp is a full client-side application built with Blazor WebAssembly is a course material on AK Academy
Stars: ✭ 36 (-37.93%)
Mutual labels:  education
Cs education
Моя карта обучения Computer Science на 3 года
Stars: ✭ 42 (-27.59%)
Mutual labels:  education
Nltk Book Resource
Notes and solutions to complement the official NLTK book
Stars: ✭ 54 (-6.9%)
Mutual labels:  education
Data Privacy For Data Scientists
A workshop on data privacy methods for data scientists.
Stars: ✭ 53 (-8.62%)
Mutual labels:  education
Iml
Курс "Введение в машинное обучение" (ВМК, МГУ имени М.В. Ломоносова)
Stars: ✭ 46 (-20.69%)
Mutual labels:  education

Schul-Cloud Server

Based on Node.js and Feathers

Dev: Build Status Master: Build Status

Dev: codecov Master: codecov

Codacy: Codacy Badge Codacy Badge

Version Greenkeeper badge

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

Requirements

  • Node.js (see .nvmrc for version)
  • MongoDB (4.x)

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 and create a pull request (PR)

  1. Take the Ticket Number from JIRA (ticketsystem.schul-cloud.org), e.g. SC-999
  2. Name the feature branch beginning with Ticket Number, all words separated by dash "-", e.g. feature/SC-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. For more information check our Definition of Done here.

Testing

Run tests

  1. Go into project folder
  2. run npm run test

To run a single test, use npm run mocha-single -- <path/to/unit.test.js>.

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.

Committing

Default branch: develop

  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/SC-Ticket-ID-Description
  5. Run the tests (see above)
  6. Commit with a meaningful 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].