Contributing
Contributions are welcome, preferably via pull request. Check the github issues and project roadmap to see what needs work. Fastview aims to make common things easy and everything else possible. If you’re thinking about adding a new feature, it’s worth opening a new ticket to discuss whether it’s common enough to be suitable for adding to the project.
When submitting UI changes, please aim to support the latest versions of Chrome, Firefox and Edge through progressive enhancement.
Installing
The easiest way to work on Fastview is to fork the project on github, then install it to a virtualenv:
mkdir django-fastview
cd django-fastview
python3.10 -mvenv venv
source venv/bin/activate
pip install -e git+git@github.com:USERNAME/django-fastview.git#egg=django-fastview
pip install -r venv/src/django-fastview/tests/requirements.txt
(replacing USERNAME
with your username).
This will install the testing dependencies too, and you’ll find the Fastview source
ready for you to work on in the src
folder of your virtualenv.
Building JavaScript
Note
When submitting changes to the JavaScript code, please just commit the changes made
in static_src/
- do not commit built JavaScript resources in
fastview/static/
.
The project is set up to build using nvm and yvm:
cd src/django-fastview
nvm use
yvm use
There are three commands:
npm run watch # run a webpack dev server for using with HMR
npm run dev # dev build
npm run build # minimised prod build for distribution
Testing
Contributions which come with unit tests are likely to be merged more quickly. If you’re fixing a problem, ideally you’d have a test which fails and proves the issue, then passes once your fix is in place.
Use pytest
to run the tests on your current installation:
cd path/to/django-fastview
pytest
This will also generate a coverage
HTML report.
Credits
Thanks to all contributors, who are listed in the Changelog.
The icons are from Remix Icon, https://remixicon.com/