{"id":20156125,"url":"https://github.com/openfun/fun-apps","last_synced_at":"2026-03-04T12:05:28.067Z","repository":{"id":17726231,"uuid":"20556967","full_name":"openfun/fun-apps","owner":"openfun","description":":warning: DEPRECATED :warning:","archived":false,"fork":false,"pushed_at":"2026-03-02T09:30:28.000Z","size":28419,"stargazers_count":16,"open_issues_count":12,"forks_count":19,"subscribers_count":13,"default_branch":"dogwood.3-fun","last_synced_at":"2026-03-02T13:15:53.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfun.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-06-06T08:42:58.000Z","updated_at":"2026-03-02T09:16:14.000Z","dependencies_parsed_at":"2022-08-20T08:50:22.903Z","dependency_job_id":"12591f3a-a286-4d4b-a2b0-9521c14e15ff","html_url":"https://github.com/openfun/fun-apps","commit_stats":null,"previous_names":[],"tags_count":185,"template":false,"template_full_name":null,"purl":"pkg:github/openfun/fun-apps","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Ffun-apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Ffun-apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Ffun-apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Ffun-apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/fun-apps/tar.gz/refs/heads/dogwood.3-fun","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Ffun-apps/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30079565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T11:57:42.557Z","status":"ssl_error","status_checked_at":"2026-03-04T11:56:10.793Z","response_time":59,"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-11-13T23:37:40.428Z","updated_at":"2026-03-04T12:05:28.025Z","avatar_url":"https://github.com/openfun.png","language":"Python","readme":"# FUN-MOOC\n\nThis repo holds the source code of the [FUN-MOOC](https://fun-mooc.fr/)\nwebsite. FUN-MOOC is an initiative of the French Ministry of Higher Education\nto provide free MOOCs from the best French universities.\n\n## Code organization\n\nThere are three main components to FUN:\n\n1. The Open edX platform that the FUN team has slightly modified with a couple\n   bugfixes: the code for this fork is available in the\n   [edx-platform](https://github.com/openfun/edx-platform/) repository.\n2. The FUN layer that defines a visual theme and adds features on top of Open edX. (this repo)\n3. The production configuration files, which are not disclosed for obvious security reasons.\n\n## Install\n\n`fun-apps` is supposed to be installed in an Open edX instance. As Open edX is\nquite complex to setup, we invite you to ease your life by using\n[fun-platform](https://github.com/openfun/fun-platform)'s base docker images to\nintegrate fun-apps (see `fun-platform` documentation).\n\nOnce your Open edX instance is fully functionnal, to install `fun-apps`, you\nwill need to use `pip` with FUN's python packages index server:\n\n```bash\n$ pip install --extra-index-url https://pypi.fury.io/openfun fun-apps\n```\n\n## How to contribute?\n\nFUN is open to external contributions. If you find a bug on the platform, you\nshould feel free to run FUN on your own computer, modify the code and offer\nyour contributions back to us. To do so, just open a Github pull request on our\n`dev` branch.\n\nIf you have found a bug but you are not able to contribute to FUN directly, you\nshould open a new [issue](https://github.com/openfun/fun-apps/issues) in this\nrepository. Please describe in details how to reproduce the problem, what\nbehaviour is expected and what behaviour is observed. If possible, include a\nURL.\n\nAs a rule of thumb, new pull requests should come with the corresponding unit\ntests. If you have trouble running the tests or writing new tests, please say\nso in your PR and the FUN team will help you improve your pull request. For\nmore important contributions, please ask the FUN team **in advance** to make sure\nthat the feature is relevant and that your approach to solve the problem is the\nright one.\n\n## FAQ\n\n- **Is the content of the courses included in this repository?** No, the\n  courses that are run on FUN are \"free\" as in \"free beer\" but not \"libre\".\n- **I love this project! How can I help?** Go [follow a\n  course](https://fun-mooc.fr/cours/)! And then come back to us with the issues\n  you have found :-) Either open a ticket or create a pull request.\n- **Pourquoi ce document est-il rédigé en anglais, et pas en français ?** Le\n  code de FUN est ouvert aux contributions des développeurs du monde entier et\n  pour ce faire il est nécessaire de documenter ce projet en anglais.\n\n## Packaging\n\n### Updating the `MANIFEST.in`\n\nWe've cooked a shell script to automate the `MANIFEST.in` file generation:\n\n```\n$ ./scripts/manifest.sh\n```\n\nRunning this script should display an updated version of the `MANIFEST.in` file\nthat can be safely updated _via_:\n\n```\n$ ./scripts/manifest.sh \u003e MANIFEST.in\n```\n\n### Add missing migrations\n\nA shell script using Docker can be used to generate missing migrations for\n`fun-apps`:\n\n```\n$ ./scripts/migrations.sh\n```\n\nBy default, migrations will be generated using the `dogwood.3` openedx release\n(using `fundocker/dogwood.3-1.0.0` base Docker image). You can override this\ndefault by providing a different `EDXAPP_TAG` as a script argument:\n\n```\n$ ./scripts/migrations.sh eucalyptus.3-1.0.0\n```\n\n## License\n\nThe fun-apps code is licensed under the [AGPL\nv3](http://www.gnu.org/licenses/agpl.html). External dependencies packaged with\nfun-apps have their own license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Ffun-apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Ffun-apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Ffun-apps/lists"}