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.txtIf 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 bowerYou may need some additional dependencies to install Bower, such as NodeJS and npm.
Note: if you don't want to use
sudo, you can installbowerlocally. You'll need to set up your$PATHcorrectly, 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 serveNote: 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.
-
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