https://github.com/wisskirchenj/simple-banking
Simple credit card account system in Python using sqlite.
https://github.com/wisskirchenj/simple-banking
python-3-11 sqlalchemy-orm sqlite3
Last synced: 12 months ago
JSON representation
Simple credit card account system in Python using sqlite.
- Host: GitHub
- URL: https://github.com/wisskirchenj/simple-banking
- Owner: wisskirchenj
- Created: 2023-04-01T16:36:14.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-29T22:05:56.000Z (almost 2 years ago)
- Last Synced: 2025-01-06T04:12:36.068Z (about 1 year ago)
- Topics: python-3-11, sqlalchemy-orm, sqlite3
- Language: Python
- Homepage:
- Size: 69.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# IDEA EDU Course
Project implemented in the track 'SQL with Python' of hyperskill.org JetBrains Academy. Purpose of doing this
project is to further practice and stay in touch with Python programming.
## Technology / External Libraries
- Python 3.11.3,
- with packages: SQLAlchemy (ORM & Core) 2.0.9, typing, typing_extensions, random, os, unittest, unittest.mock, parameterized
## Repository Contents
The sources of main project tasks (4 stages) and pytest testing.
## Installation
Install the wheel file using pip after clone/fork:
> pip install dist/banking-3.11.3.post1-py3-none-any.whl
## Program description
Simple banking is mainly about credit card accounts and a CL-menu to add cards, do transactions, see balances and
stuff like that. Transactions as well as the credit card accounts are stored in an SQLite-database using database
transactions.
Have fun!
## Project completion
Project was completed on 09.04.23
## Progress
01.04.23 Project started - gitHub repo and project structure setup.
03.04.23 Stage 1 completed - creation of credit cards, user session to login to account, used @patch.object of
unittest.mock to replace method with mock.
04.04.23 Stage 2 completed - implement luhn algorithm for checksum to yield valid credit card number. Parameterized
tests with package parameterized.
08.04.23 Stage 3 completed - bind SQLite database with SQLAlchemy 2.0.9 to the credit card accounts. Use new Declarative
ORM-mapping of SQLAlchemy with Dataclasses.
09.04.23 Final Stage 4 completed - Add deposit, transfer and close account functionality. Full coverage integration
testing with mock input and mocking random.