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 current
Please 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
git
for the first time after cloning with yourname
andemail
pip install -r requirements.txt
to install all project dependenciespip install -r requirements-dev.txt
to 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.