|
1 | 1 | # Selections |
| 2 | +[](https://www.python.org/downloads/release/python-360/) |
| 3 | +[](https://travis-ci.org/ComputerScienceHouse/csh-selections) |
| 4 | + |
2 | 5 | Selections is a Flask / Python web app meant to help facilitate the application review process for Computer Science House. |
3 | 6 |
|
| 7 | +### Running locally |
| 8 | +There are 2 methods for configuring this project: |
| 9 | +1. Environment variables: various variables are pulled from the environment by [config.env.py](./config.env.py). This is especially useful for running selections in a container, as configuration may be injected into the env rather than written to a file. |
| 10 | +2. Local config file: creating a file named `config.py` will allow you to write secrets and configuration to a file. Variables specified in config.py will be passed to the application. By default this will be ignored by git. Please do not commit configuration secrets. |
| 11 | + |
| 12 | +Configuration secrets for local development may be obtained from an RTP. |
| 13 | + |
| 14 | +If you add configuration variables or secrets, you will need to add entries to config.env.py so they may be configured in the production environment. |
| 15 | + |
| 16 | + Selections requires Python 3 [(install steps)](https://docs.python-guide.org/starting/installation/) and pip. Production selections runs python 3.6. |
| 17 | + |
| 18 | +We recommend using either the python [venv module](https://docs.python.org/3.6/library/venv.html) or [virtualenv](https://virtualenv.pypa.io/en/latest/index.html), as virtual environments help isolate your project dependencies and keep your system cleaner and more stable. Please refer to the documentation on those projects for guides on usage. |
| 19 | + |
| 20 | + |
| 21 | +Dependiencies are specified by [requirements.txt](./requirements.txt), and may be installed through pip. Note that on some systems, pip for python 3 must be specified as `pip3`. |
| 22 | + ```bash |
| 23 | +pip install -r requirements.txt |
| 24 | +``` |
| 25 | + |
| 26 | +The application may be run locally with the following command. |
| 27 | +```bash |
| 28 | +flask run -h localhost -p 8080 |
| 29 | + ``` |
| 30 | + |
| 31 | +## Code standards |
| 32 | +This project uses Pylint for linting and enforcement of code standards and styling. |
| 33 | +Every pull request of this project will be tested by Travis CI. |
| 34 | +Failing the linting step will block merging of your PR. |
| 35 | +Please run pylint locally before making your PR, it will help save you some time and headache. |
| 36 | + |
| 37 | +To run pylint use this command: |
| 38 | +```bash |
| 39 | +pylint --load-plugins pylint_quotes selections |
| 40 | +``` |
0 commit comments