Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smhussain5/atm-oop
Terminal ATM application using Python/PyCharm, OOP
https://github.com/smhussain5/atm-oop
object-oriented-programming pycharm python terminal-application
Last synced: 23 days ago
JSON representation
Terminal ATM application using Python/PyCharm, OOP
- Host: GitHub
- URL: https://github.com/smhussain5/atm-oop
- Owner: smhussain5
- License: mit
- Created: 2024-01-06T01:43:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-29T00:08:03.000Z (12 months ago)
- Last Synced: 2024-10-31T17:44:39.103Z (2 months ago)
- Topics: object-oriented-programming, pycharm, python, terminal-application
- Language: Python
- Homepage:
- Size: 882 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AUTOMATIC TELLER MACHINE (ATM) PYTHON
![ATM Python GIF Demonstration](https://github.com/smhussain5/ATM-OOP/blob/main/ATM_OOP_PYTHON.gif?raw=true)
## Problem 🤔
Object-oriented programming (OOP) is a staple in programming and allows for benefits such as abstraction and code readability. The best way to practice OOP is to develop projects.
## Solution 💡
This terminal application utilizes OOP to simulate an ATM. Users can input one of several menu options that correlate to specific functions within the ATM class. Functions include depositing into/withdrawing from checking/savings account and transferring between accounts.
## Quick Start âš¡
If you have Docker installed, you can run this application on your own machine with just 2 steps!
Pull the image from Docker Hub
```python
docker pull smhussain5/atm-python
```
Then run the image as an interactive Docker container
```python
docker run --rm -it smhussain5/atm-python
```
## Technologies Used âš™- PyCharm
- Python
- "Locale" module## Challenges 💢
This was a straightforward application, but creating the Dockerfile was troublesome. Because the image was based on Linux distribution (Alpine), I needed to update and set the locale to en_US for the locale module and currency formatting to work.
## Insights ðŸ’
I enjoyed developing this application because I was able to practice OOP. As a result, it showed the importance and benefits of incorporating OOP into my projects. This project could be further refactored by using PyTest to ensure proper validation and functioning.
## Contact 📲
[![Static Badge](https://img.shields.io/badge/Send%20me%20an%20email-212121?style=flat-square&logo=gmail&logoColor=EA4335)](mailto:[email protected]?)
[![Static Badge](https://img.shields.io/badge/Connect_with_me_on_LinkedIn-212121?style=flat-square&logo=linkedin&logoColor=0A66C2)](https://www.linkedin.com/in/shabab-h)
[![Static Badge](https://img.shields.io/badge/Follow_me_on_Twitter-212121?style=flat-square&logo=twitter&logoColor=1D9BF0)](https://twitter.com/shussain_5)
[![Static Badge](https://img.shields.io/badge/Follow_me_on_GitHub-212121?style=flat-square&logo=github&logoColor=FAFAFA)](https://github.com/smhussain5)