Create an Income-Expense Tracker initially run on CLI. Trying to follow OOP in this whole project and also design principals. Implement storage for persisting data.
- Feature
- View
- Storage
- Feature
- New Feature can be added by extending the
Feature
abstract class and implementing the abstract method. - Register the new feature to the kernel.
- No need any backtracking for new features.
- New Feature can be added by extending the
- Storage
- Easily Migrate to another persistent storage by implementing the
Storage
Interface
- Easily Migrate to another persistent storage by implementing the
- View
- Easily change the view layer by implementing the
View
interface.
- Easily change the view layer by implementing the
- Add Category
- View Category
- Add Income
- View Income
- Add Expense
- View Expense
- Gracefully Shutdown
Every input will go through a validation process.
git clone https://github.com/OmarFaruk-0x01/expense-tracker
cd expense-tracker
chmod +x main.php
./main.php # Linux / MacOs / GitBash
php main.php # Windows and all other platform