Skip to content

hriship618/otis-web

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,416 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Top languages MIT License Last update Forks Stars OTIS-WEB status OTIS-WEB status

HTML style: djlint Python style: black types: pyright lint: pyflakes Coverage status

OTIS-WEB

These are the source files for the internal website that I use to teach my course OTIS. It is pretty standard Django, so you should be able to spin up a local server on a standard Unix environment.

Installation instructions

Video tutorial: https://youtu.be/W27XcqeXp20

Standard Linux environment

  1. Fork the repository first if you're planning on submitting a pull request later.

  2. Install the following standard tools: python (version 3.10), pip, git. (For each tool, search "[name of thing to install] [your OS]" on the web.)

  3. Clone this repository: git clone https://github.com/USERNAME/otis-web. Replace USERNAME with your username if you're forking; otherwise, replace with vEnhance.

  4. Run git submodule update --init --recursive in order to pull the evans_django_tools submodule.

  5. Install Poetry. This enables you to use the poetry command; verify this by checking poetry --help produces a help message.

  6. Once you have poetry, hit poetry install. This will automatically create a Python virtual environment and install stuff inside it.

    (If you are an expert familiar with Python virtual environments and want to use your own rather than Poetry's auto-created one, then you can do so by activating an environment before running poetry install.)

  7. If it isn't already activated, activate the Python virtual environment that was created in the previous step. The easiest way to do so is to run poetry shell.

    (Note: you have to do this step every time you start working on the project. That is, always run poetry shell before doing any work, or for experts, activate the virtual environment using your preferred method.)

  8. If everything is working, python manage.py check should run with no errors.

  9. Run python manage.py migrate to create the local database.

  10. Run python manage.py createsuperuser to create an admin user.

  11. Run python manage.py runserver. The command will spin up a continuously running server.

  12. Point your browser to http://127.0.0.1:8000. You should be able to log in with the user you defined in step 9.

  13. The website is functional now, but it is a bit bare-bones. To populate it with some test data, use http://127.0.0.1:8000/admin.

Optional steps:

  • If you need to set up environment variables, copy env to .env and uncomment the relevant lines.
  • If you want to test the Stripe stuff, a few more steps are needed. Briefly: install the Stripe CLI. Create some API keys and stripe login. Add these API keys to .env (the three STRIPE_* variables). Then run stripe listen --forward-to localhost:8000/payments/webhook/.

Feature requests or bug reports

Submit an issue on GitHub.

Pull requests

For OTIS students: pull requests welcome! If you think the website can be improved in some way, feel free to implement it. See contributing guidelines. It's OK if you don't have much code experience; I'm willing to guide you along.

526561645265616452656164

About

OTIS course management system

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 73.7%
  • HTML 16.0%
  • JavaScript 6.9%
  • CSS 2.0%
  • Jinja 1.0%
  • TeX 0.2%
  • Shell 0.2%