/geli

geli is an open source e-learning platform

Primary LanguageTypeScriptApache License 2.0Apache-2.0

geli

geli-Logo

GitHub release Build Status Coverage Status Uptime Robot ratio Gitter chat DavidDM-API DavidDM-WEB

geli is an open source e-learning platform. Try the demo!

The project is mainly developed by Computer Science Master's students at the University of Applied Sciences in Darmstadt, Germany.

If you need help using or want to support the project, just say hello on Gitter.

Usage

Your best option for running the project is by using our Docker images:

Have a look at the sample docker-compose file on how to wire things together.

For a list of all configuration options see docs/configuration.

Development

The codebase is written entirely in TypeScript.

The API is based on Node.js together with Express, routing controllers and MongoDB. Have a look at our API documentation.

The web frontend is built with Angular 6 and Angular Material components.

Running

You have multiple options for running the project for development purposes.

After successfully starting, the web frontend will be available at http://localhost:4200.

The API will be available at http://localhost:3030. To avoid CORS the API will also be proxied by the Angular development server and be available at http://localhost:4200/api.

Configuration

The default configuration should already enable you to start developing.

For more information on how to configure e.g. e-mail see docs/development/configuration.

Commands

API & web frontend

  • Running: npm run start
  • Linting: npm run lint
  • Testing: npm run test

API

  • Loading fixtures (sample data): npm run load:fixtures
  • Debugging: npm run start:inspect

Web frontend

  • End to end tests: npm run e2e
  • Angular CLI: npm run ng (Be sure to pass flags with additional dashes. E.g.: npm run ng build -- --prod)

Contributing

Please have a look at our contributing guide.

LICENSING

Copyright [2018] [Ute Trapp]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.