AMY is a web-based workshop administration application for The Carpentries and related projects. Its target audience is workshop coordinators, most of whom are non-programmers, who need to keep track of what workshops are being arranged, when they're supposed to occur, who's teaching what, and so on.
AMY is built using Django with Python 3, with a bit of Javascript and other things thrown in. If you would like to help, please read:
-
the setup instructions below,
-
the contributor guidelines, and
Please check with us or open an issue before starting work on new features.
-
Clone the repository:
$ git clone https://github.com/swcarpentry/amy.git $ cd amy
-
Install Django and other dependencies:
$ python -m pip install --user -r requirements.txt
If you're experienced Python programmer, feel free to create a Python3-compatible virtualenv for AMY and install dependencies from
requirements.txt
. -
Install yarn, the tool that manages AMY's JavaScript and CSS dependencies. You can install it here.
-
Set up your local database with fake (development-ready) data with:
$ make dev_database
-
Create an ad 6E90 ministrator account:
$ python3 manage.py createsuperuser
-
Start a local Django development server by running:
$ make serve
Note: this also installs front-end dependencies for AMY, including jQuery and Bootstrap (full list here).
-
Open http://127.0.0.1:8000/workshops/ in your browser and start clicking.
Use the administrator account that you created.
-
Update the code:
-
Get the list of changes:
$ git fetch
-
Look for the newest tag:
$ git tag -n
-
Get the code from the newest tag:
$ git checkout tags/<tag_name>
-
-
Update dependencies front-end and back-end dependencies:
$ make upgrade
-
(Optional) make fresh development-ready database:
$ make dev_database
-
Run database migrations:
$ python3 manage.py migrate
-
Enjoy your new version of AMY:
$ make serve