Giter Club home page Giter Club logo

course-discovery's Introduction

Course Discovery Service Travis_ Codecov_

Service providing access to consolidated course and program metadata.

Documentation

Documentation is hosted on Read the Docs. The source is hosted in this repo's docs directory. The docs are automatically rebuilt and redeployed when commits are merged to master. To contribute, please open a PR against this repo.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see the LICENSE file for details.

How To Contribute

Contributions are welcome. Please read How To Contribute for details. Even though it was written with edx-platform in mind, these guidelines should be followed for Open edX code in general.

Development

Is the build failing because translations are out of date?

Run make check_translations_up_to_date and check in the generated .mo &.po files to your PR.

Running Tests Locally, Fast

There is a test settings file course_discovery.settings.test_local that allows you to persist the test database between runs of the unittests (as long as you don't restart your container). It stores the SQLite database file at /dev/shm, which is a filesystem backed by RAM. Using this test file in conjunction with pytest's --reuse-db option can significantly cut down on local testing iteration time. You can use this as follows: pytest course_discovery/apps/course_metadata/tests/test_utils.py --ds=course_discovery.settings.test_local --reuse-db

The first run will incur the normal cost of database creation (typically around 30 seconds), but the second run will completely skip that startup cost, since the --reuse-db option causes pytest to use the already persisted database in the /dev/shm directory. If you need to change models or create databases between runs, you can tell pytest to recreate the database with -recreate-db.

Debugging Tests Locally

Pytest in this repository uses the pytest-xdist package for distributed testing. This is configured in the pytest.ini file. However, pytest-xdist does not support pdb.set_trace(). In order to use pdb when debugging Python unit tests, you can use the pytest-no-xdist.ini file instead. Use the -c option to the pytest command to specify which ini file to use.

For example,

pytest -c pytest-no-xdist.ini --ds=course_discovery.settings.test --durations=25 course_discovery/apps/publisher/tests/test_views.py::CourseRunDetailTests::test_detail_page_with_comments

Reporting Security Issues

Please do not report security issues in public. Please email [email protected].

Get Help

Ask questions and discuss this project on Slack or in the edx-code Google Group.

course-discovery's People

Contributors

amangano-edx avatar asadazam93 avatar attiyaishaque avatar awais786 avatar awaisdar001 avatar ayub-khan avatar bbaker6225 avatar bderusha avatar clintonb avatar cpennington avatar dianakhuang avatar dillon-dumesnil avatar feanil avatar iloveagent57 avatar marjev avatar mattdrayer avatar matthewpiatetsky avatar michaelroytman avatar mikedikan avatar mikix avatar muhammad-ammar avatar rabia23 avatar reillz10 avatar robrap avatar schenedx avatar srpearce avatar umar-nawaz avatar vkaracic avatar waheedahmed avatar zubair-arbi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.