https://github.com/vyahello/billtracker
💸 Web tool to track user bills (pyramid + bootstrap + sqlalchemy + alembic + pytest + travisCI + nginx)
https://github.com/vyahello/billtracker
bill-tracking bills cash cashmanagement pyramid web-application
Last synced: about 2 months ago
JSON representation
💸 Web tool to track user bills (pyramid + bootstrap + sqlalchemy + alembic + pytest + travisCI + nginx)
- Host: GitHub
- URL: https://github.com/vyahello/billtracker
- Owner: vyahello
- License: mit
- Created: 2020-03-06T20:34:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-20T15:31:57.000Z (over 1 year ago)
- Last Synced: 2025-04-07T04:24:19.315Z (6 months ago)
- Topics: bill-tracking, bills, cash, cashmanagement, pyramid, web-application
- Language: Python
- Homepage: http://178.62.222.165:5007
- Size: 146 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README

[](https://www.python.org/)
[](https://travis-ci.org/vyahello/billtracker)
[](https://coveralls.io/github/vyahello/billtracker?branch=master)
[](https://github.com/psf/black)
[](https://www.pylint.org)
[](http://flake8.pycqa.org/)
[](http://www.pydocstyle.org/)
[](http://mypy-lang.org/)
[](LICENSE.md)
[](https://www.codefactor.io/repository/github/vyahello/billtracker)
[](https://hub.docker.com/repository/docker/vyahello/billstracker)# Bills tracker
> 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._
## Tools
### Production
- front-end
- html5
- css3
- back-end
- python 3.6, 3.7, 3.8
- [pyramid](https://trypyramid.com/) web framework
- [sqlalchemy](https://docs.sqlalchemy.org/en/13/orm/tutorial.html) database
- [alembic](https://alembic.sqlalchemy.org/en/latest/) database migration
- [nginx](https://www.nginx.com/) web server### Development
- [pytest](https://pypi.org/project/pytest/)
- [black](https://black.readthedocs.io/en/stable/)
- [mypy](http://mypy.readthedocs.io/en/latest)
- [pylint](https://www.pylint.org/)
- [flake8](http://flake8.pycqa.org/en/latest/)
- [travis](https://travis-ci.org) CI## Usage
Please check billstracker website via http://178.62.222.165:5007.
### Docker run
```bash
docker run -it -p 6543:6543 vyahello/billstracker:0.1.0
```After please open [0.0.0.0:6543](http://localhost:6543) endpoint to open web app.
### Source code
To be able to use and launch app from the source code please execute commands below:
```bash
git clone git@github.com:vyahello/billtracker.git
python setup.py develop
pserve development.ini
```After please open [0.0.0.0:6543](http://localhost:6543) endpoint to open web app.

## Development notes
Data from [storage](billtracker/storage) folder was generated using https://www.mockaroo.com
### Troubleshooting
In case of server reboot/restart please start `billtracker` service:
```bash
systemctl start billtracker
```### Database migration
For database migrations [alembic](https://alembic.sqlalchemy.org/en/latest/) package is used. Please follow [alembic.ini](alembic.ini) file for instructions.
Once new changes were made to the database, please follow instructions below:
```bash
alembic revision --autogenerate -m "commit message"
alembic upgrade head
alembic current
```### Docker
Please use the following [example notes](https://github.com/vyahello/pep8-checker#development-notes) to proceed with docker image provisioning.
### Testing
Please follow next command to execute **unit** tests:
```bash
pytest -m unit
```Or **functional** tests, correspondingly:
```bash
python -m functional
```### CI
Project has Travis CI integration using [.travis.yml](.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:
```bash
./analyse-source-code.sh
```### Release notes
Please check [changelog](CHANGELOG.md) file to get more details about actual versions and it's release notes.
### Meta
Author – _Volodymyr Yahello_. Please check [AUTHORS](AUTHORS.md) file to see all contributors.
Distributed under the `MIT` license. See [LICENSE](LICENSE.md) for more information.
You can reach out me at:
* [vyahello@gmail.com](vyahello@gmail.com)
* [https://twitter.com/vyahello](https://twitter.com/vyahello)
* [https://www.linkedin.com/in/volodymyr-yahello-821746127](https://www.linkedin.com/in/volodymyr-yahello-821746127)### Contributing
I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:1. Clone the repository
2. Configure `git` for the first time after cloning with your `name` and `email`
3. `pip install -r requirements.txt` to install all project dependencies
4. `pip install -r requirements-dev.txt` to install all development project dependencies
5. Create your feature branch (git checkout -b feature/fooBar)
6. Commit your changes (git commit -am 'Add some fooBar')
7. Push to the branch (git push origin feature/fooBar)
8. Create a new Pull Request### What's next
All recent activities and ideas are described at project [issues](https://github.com/vyahello/billtracker/issues) page.
If you have ideas you want to change/implement please do not hesitate and create an issue.