AMY is a web-based workshop administration application for Software Carpentry 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 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:
$ python3 -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 Bower, the tool that manages AMY's JavaScript and CSS dependencies:
$ sudo npm install -g bower
You may need some additional dependencies to install Bower, such as NodeJS and npm.
Note: if you don't want to use
sudo
, you can installbower
locally. You'll need to set up your$PATH
correctly, though. Look here for details. -
Set up your local database with fake (development-ready) data with:
$ make dev_database
-
Create an administrator account:
$ python3 manage.py createsuperuser
-
Start a local Django development server by running:
$ make serve
Note: this also installs front-end dependencies for AMY, such as jQuery or Bootstrap.
-
Open http://localhost:8000/workshops/ in your browser and start clicking.
Use the administrator account that you created.
Upgrading
5FC4-
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