https://github.com/lawal-hash/expensetracker
https://github.com/lawal-hash/expensetracker
github-pages githubworkflow pydantic python3 sphinx-doc typehinting
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lawal-hash/expensetracker
- Owner: lawal-hash
- License: mit
- Created: 2023-12-24T21:20:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-01T00:53:08.000Z (4 months ago)
- Last Synced: 2025-02-01T01:30:08.512Z (4 months ago)
- Topics: github-pages, githubworkflow, pydantic, python3, sphinx-doc, typehinting
- Language: Python
- Homepage: https://lawal-hash.github.io/ExpenseTracker/
- Size: 1.55 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Expense Tracker
[](https://github.com/lawal-hash/documentation-ExpenseTracker/actions/workflows/sphnix.yml) [](https://github.com/lawal-hash/documentation-ExpenseTracker/actions/workflows/github-code-scanning/codeql)[](https://github.com/lawal-hash/documentation-ExpenseTracker/actions/workflows/pages/pages-build-deployment)ExpenseTracker, a Python application, assesses and highlights object-oriented programming (OOP) skills in financial expense management. Comprising two pivotal classes, Expense and ExpenseDB, it models individual expenses with attributes like a unique identifier, title, amount, and timestamps in Coordinated Universal Time (UTC). The Expense class features methods for updating details, and efficient conversion to a dictionary. As a manager for Expense objects, the ExpenseDB class facilitates addition, removal, retrieval of expenses.
## Run Locally
Clone the project
```bash
git clone https://github.com/lawal-hash/ExpenseTracker.git
```Install dependencies
```bash
pip install poetry
cd ExpenseTracker
poetry install --no-root
poetry shell
```## Usage/Examples
```python
from src.expense import Expense
from src.expensedb import ExpenseDatabasedef main():
expense_one = Expense(title="Spain", amount=80.00)
expense_two = Expense(title="UK", amount=180.00)
expense_three = Expense(title="Malaga", amount=300.00)expense_db = ExpenseDatabase()
for expense in [expense_one, expense_two, expense_three]:
expense_db.add_expense(expense)if __name__ == "__main__":
main()```
```python
python main.py
```## License
[MIT](https://choosealicense.com/licenses/mit/)