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.
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.
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.
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.
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.
- Running:
npm run start
- Linting:
npm run lint
- Testing:
npm run test
- Loading fixtures (sample data):
npm run load:fixtures
- Debugging:
npm run start:inspect
- 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
)
Please have a look at our contributing guide.
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.