{"id":22418448,"url":"https://github.com/libre-man/ejournal","last_synced_at":"2026-02-09T21:31:31.781Z","repository":{"id":91284966,"uuid":"149459132","full_name":"libre-man/eJournal","owner":"libre-man","description":"Platform for long term assignments in virtual learning environments.","archived":false,"fork":false,"pushed_at":"2018-09-30T20:16:41.000Z","size":22625,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-08-25T12:13:59.815Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libre-man.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.MD","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-19T13:57:33.000Z","updated_at":"2018-09-19T13:57:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"43eba847-5c98-4137-911c-4f0f9534d29b","html_url":"https://github.com/libre-man/eJournal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/libre-man/eJournal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-man%2FeJournal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-man%2FeJournal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-man%2FeJournal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-man%2FeJournal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libre-man","download_url":"https://codeload.github.com/libre-man/eJournal/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-man%2FeJournal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29281964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T19:05:41.198Z","status":"ssl_error","status_checked_at":"2026-02-09T19:05:37.449Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T15:23:04.991Z","updated_at":"2026-02-09T21:31:31.761Z","avatar_url":"https://github.com/libre-man.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eJournal [![Build Status](https://travis-ci.com/eJourn-al/eJournal.svg?branch=develop)](https://travis-ci.com/eJourn-al/eJournal)\n\neJournal is a platform for online journalling and long term assignments, especially developed for education. It can be easily connected to virtual learning environments through LTI.\n\n## Contributing\n\nFor information about contributing to the project, see [CONTRIBUTING.MD](CONTRIBUTING.MD).\n\n## Deployment\n\n### Preconfiguring Production\n\nIn the file `settings/deploy.conf` there are multiple options to configure:\n\n- `APACHE_DIR`: should be pointed to the directory where apache is installed (defaults to `/etc/apache2`).\n- `TARGET`: should be the directory where apache will be serving files from (defaults to `/var/www/ejournal`).\n- `TYPE`: should be the http type: either http or https (defaults to `http`).\n- `SERVERNAME`: should be the website URL. The site will be accessible on `$URL:$PORT$HOOKPOINT` (defaults to `localhost`).\n- `APIURL`: should be the API URL. The API will be accessible on `$APIURL:$PORT$HOOKPOINT` (defaults to `api.localhost`).\n- `PORT`: should be the port the website will be accessible over, this will be appended to the `$APACHE_DIR/ports.conf` file (defaults to `80`).\n- `HOOKPOINT`: Defines the path after the URL to serve as a root folder for this project. Should always end with a `/` (defaults to `/`).\n\n\nIn the file `settings/database.conf` you will need to configure the database. By default we use [postgresql](https://www.postgresql.org/).\n\n- `DATABASE_TYPE`: the backend of the database. Can be one of the backends [specified by django](https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-DATABASE-ENGINE) (defaults to postgresql).\n- `DATABASE_NAME`: the name of the database (defaults to ejournal).\n- `DATABASE_HOST`: the URL of the server running the database (defaults to localhost).\n- `DATABASE_PORT`: the port on which the database is accessible through `$DATABASE_HOST` (default PostgreSQL port is 5432).\n- `DATABASE_USER`: the user for the server to create as database owner. Note that this user will gain all rights for the table set in `$DATABASE_NAME`, as this is required for the server to be able to freely manipulate the database.\n- `DATABASE_PASSWORD`: the password that is set for the `$DATABASE_USER`.\n\nIn the file `settings/secrets.conf` you will be required to generate new secret keys for django and LTI. Neither of these fields should be the same, and it is suggested you use a random string generator to generate the secret.\nUse a sufficiently long and complex secret (the default by django is 50 characters).\n\n### Installing\n\n```bash\nmake install\n```\n\nThis will, if not already installed, install [apache2](https://httpd.apache.org/), apache2-dev, and [wsgi_mod 4.6.4](https://github.com/GrahamDumpleton/mod_wsgi) from source.\nIt sets up the modular `wsgi.conf` file in `$APACHE_DIR/conf-available/` and automatically enables it.\nIt also sets up the modular `ejournal.conf` file in `$APACHE_DIR/sites-available/` and enables it on the set port (default 8080), also adding the port to the `$APACHE_DIR/ports.conf` file.\n\nThis only needs to be run once, as initial deployment setup.\n\n### Deploying\n\nTo update the server with your cloned version of eJournal, you will have to run:\n\n```bash\nmake deploy\n```\n\nThis compiles and copies the source files and static files to the destination folder, replacing configurables where needed.\n\n#### Serving\n\nTo simplify restarting the server, the following command restarts the apache server to handle any updated files:\n\n```bash\nmake serve\n```\n\n### Additional Configuration\n\n#### Create a Superuser\n\nIf this is the first time deploying the code to a server instance, you may want to make a superuser. A superuser will be an user that can access /admin and therefore set up the site according to their will. At least one superuser is required, else no initial courses, assignments and journals can be created.\n\nA superuser is created by running the following commands while in the `$TARGET` folder:\n\n```bash\nsource ./venv/bin/activate\npython ./django/manage.py createsuperuser\ndeactivate\n```\n\nMake sure to use a strong password, as these credentials will be able to manipulate the database at will.\n\n## Troubleshooting\n\nMay the setup or deployment fail, [open an issue on github](https://github.com/eJourn-al/eJournal/issues/new).\nThe setup and deployment scripts have been built for ubuntu, and may not work on any other linux distributions. May the need for this arise, the scripts can be altered to support additional distributions.\n\n## Contributors\n\nJeroen van Bennekum,\nXavier van Dommelen,\nOkke van Eck,\nEngel Hamer,\nLars van Hijfte,\nHendrik Huang,\nMaarten van Keulen,\nJoey Lai,\nTeun Mathijssen,\nRick Watertor,\nDennis Wind,\nZi Long Zhu.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-man%2Fejournal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibre-man%2Fejournal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-man%2Fejournal/lists"}