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.
- Fork the repository first if you're planning on submitting a pull request later.
- Install the following standard tools:
python
(version 3.9),pip
,gcc
,git
. (For each tool, search "[name of thing to install] [your OS]" on the web.) - Clone this repository:
git clone https://github.com/USERNAME/otis-web
. ReplaceUSERNAME
with your username if you're forking; otherwise, replace withvEnhance
. - Run
git submodule --init --recursive
in order to pull thedwhandler
submodule. If this is done correctly, the folderdwhandler
should be nonempty and a file called__init__.py
which definesclass DiscordWebhookHandler
. - You probably want to create a new virtual environment
to avoid polluting your system with all the dependencies.
If you've used
conda
orvirtualenv
or similar before, you know the drill. Otherwise, read through the steps here to create a wrapper for OTIS-WEB. - If things are working,
you should be able to run in the virtual environment
and then run
pip install poetry
. This enables you to use thepoetry
command; verify this by checkingpoetry --help
produces a help message. - Once you have
poetry
, hitpoetry install
. This will install a lot of Python into your virtual environment. - If everything is working,
python manage.py check
should run with no errors. - Run
python manage.py migrate
to create the local database. - Run
python manage.py createsuperuser
to create an admin user. - Run
python manage.py runserver
. The command will spin up a continuously running server. - Point your browser to
http://127.0.0.1:8000
. You should be able to log in with the user you defined in step 7. - 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
.
Submit an issue on GitHub.
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.
526561645265616452656164