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.0After 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.iniAfter 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 billtrackerFor 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 unitOr functional tests, correspondingly:
python -m functionalProject 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.shPlease 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.