made-with-python Build Status Coverage Status Code style: black Checked with pylint Checked with flake8 Checked with pydocstyle Checked with mypy License CodeFactor Docker pulls
A web tool to track your bills built with pyramid web framework.
Note: please take into account that it is built for demo purpose but not for actual usage.
- front-end
- html5
- css3
- back-end
- python 3.6, 3.7, 3.8
- pyramid web framework
- sqlalchemy database
- alembic database migration
- nginx web server
Please check billstracker website via http://178.62.222.165:5007.
docker run -it -p 6543:6543 vyahello/billstracker:0.1.0
After please open 0.0.0.0:6543 endpoint to open web app.
To be able to use and launch app from the source code please execute commands below:
git clone git@github.com:vyahello/billtracker.git python setup.py develop pserve development.ini
After please open 0.0.0.0:6543 endpoint to open web app.
Data from storage folder was generated using https://www.mockaroo.com
In case of server reboot/restart please start billtracker service:
systemctl start billtracker
For database migrations alembic package is used. Please follow alembic.ini file for instructions.
Once new changes were made to the database, please follow instructions below:
alembic revision --autogenerate -m "commit message"
alembic upgrade head
alembic currentPlease use the following example notes to proceed with docker image provisioning.
Please follow next command to execute unit tests:
pytest -m unit
Or functional tests, correspondingly:
python -m functional
Project has Travis CI integration using .travis.yml file thus code analysis (black, pylint, flake8, mypy, pydocstyle) and unittests (pytest) will be run automatically
after every made change to the repository.
To be able to run code analysis, please execute command below:
./analyse-source-code.sh
Please check changelog file to get more details about actual versions and it's release notes.
Author β Volodymyr Yahello. Please check AUTHORS file to see all contributors.
Distributed under the MIT license. See LICENSE for more information.
You can reach out me at:
- vyahello@gmail.com
- https://twitter.com/vyahello
- https://www.linkedin.com/in/volodymyr-yahello-821746127
I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:
- Clone the repository
- Configure
gitfor the first time after cloning with yournameandemail pip install -r requirements.txtto install all project dependenciespip install -r requirements-dev.txtto install all development project dependencies- Create your feature branch (git checkout -b feature/fooBar)
- Commit your changes (git commit -am 'Add some fooBar')
- Push to the branch (git push origin feature/fooBar)
- Create a new Pull Request
All recent activities and ideas are described at project issues page. If you have ideas you want to change/implement please do not hesitate and create an issue.