An application to manage PyGotham financial aid and scholarship applications and awards.
Awards can be configured through either environment variables or a settings.ini file. An example_settings.ini file has been provided. You can kickstart your configuration with:
$ cp example_settings.ini settings.ini
Note
Configuration for tests should be specified in the testenv.setenv section of tox.ini.
In order to run this project, PostgreSQL is required. While the database's connection string is configurable, Postgres's citext module is required. The migrations will enable the extension, but it needs to be installed on the server before the migrations can be successfully applied.
The migrations can be applied by running:
$ tox -e migrate
New migrations can be generated by running:
$ tox -e makemigrations
Note
These are covered in more detail in Management commands.
While all tests will be as part of CI, they can also be run locally through tox.
The unit tests will be run whenever tox is envoked without specifying an environment, but can be run directly with:
$ tox -e unit
A coverage report will be included in the output when envoking tox without an environment. It can be output without running the unit tests with:
$ tox -e coverage
The type checks are done using pyre and can be run with:
$ tox -e types
To run a Django management command, you'll need to cd into the src directory. To reduce the need to move back and worth between it and the root of the repository, several helpful management commands are exposed as tox environments.
createsuperuser
- Create a new user with access to the admin. While it will prompt for a password, the value will be discarded; password-based logins are not supported.
dbshell
- Run
psql
for the configured database. makemigrations
- Generate new migrations for installed applications.
migrate
- Apply all outstanding migrations by default. The name of an application and either a forward or backward migration can be specified as well.
runserver
Run the development server with watchman watching for changes. If the
PYTPYTHONBREAKPOINT
environment variable is set, it will be passed through to the environment. The following debuggers are supported:- bpdb
- ipdb
- pdb
- pudb
shell
- Run a Django-aware interactive interpretter.
bpython
oripython
can be specified to select an interface other than the default Python REPL. startapp
- Create a new Django application with the specified name.
This project will accept and review pull requests submitted during Hacktoberfest. PRs submitted with the sole purpose of earning a free t-shirt will be marked as spam. If this becomes a problem, the hacktoberfest topic will be removed from the repository.