Moved the history section out from README.rst and intro.rst, to the new history.rst.
This commit is contained in:
57
docs/source/history.rst
Normal file
57
docs/source/history.rst
Normal file
@@ -0,0 +1,57 @@
|
||||
History
|
||||
=======
|
||||
|
||||
I created my own private accounting application in Perl_/mod_perl_ in
|
||||
2007, as part of my personal website. The first revision was made
|
||||
using Perl/Mojolicious_ in 2019, with the aim of making it
|
||||
mobile-friendly using Bootstrap_, and with modern back-end and
|
||||
front-end technologies such as jQuery.
|
||||
|
||||
The second revision was done in Python_/Django_ in 2020, as I was
|
||||
looking to change my career from PHP_/Laravel_ to Python, but lacked
|
||||
experience with large Python projects. I needed something in my
|
||||
portfolio and decided to work on the somewhat outdated Mojolicious
|
||||
project.
|
||||
|
||||
Despite having no prior experience with Django, I spent two months
|
||||
working late nights to create the `Mia! Accounting Django`_
|
||||
application. It took me another 1.5 months to make it an independent
|
||||
module, which I later released as an open source project on PyPI.
|
||||
|
||||
The application worked nicely for my household bookkeeping for two
|
||||
years. However, new demands arose over time, especially with tracking
|
||||
payables and receivables. This was critical `during the pandemic`_ as
|
||||
more payments were made online with credit cards.
|
||||
|
||||
The biggest issue I encountered was with
|
||||
`Django's MTV architectural pattern`_. Django takes over the control
|
||||
flow. I had to override several parts of the `class-based views`_ for
|
||||
different but yet simple control flow logic. In the end, it became
|
||||
very difficult to track whether things went wrong because I overrode
|
||||
something or because it just wouldn't work with the basic assumption
|
||||
of the class-based views. By the time I realized it, it was too late
|
||||
for me to drop Django's MTV and rewrite everything from class-based
|
||||
views to function-based views.
|
||||
|
||||
Therefore, I decided to turn to microframeworks_ like Flask_. After
|
||||
working with modularized Flask and FastAPI_ applications for two
|
||||
years, I returned to the project and wrote its third revision using
|
||||
Flask in 2023.
|
||||
|
||||
|
||||
.. _Perl: https://www.perl.org
|
||||
.. _mod_perl: https://perl.apache.org
|
||||
.. _Mojolicious: https://mojolicious.org
|
||||
.. _Bootstrap: https://getbootstrap.com
|
||||
.. _jQuery: https://jquery.com
|
||||
.. _Python: https://www.python.org
|
||||
.. _Django: https://www.djangoproject.com
|
||||
.. _PHP: https://www.php.net
|
||||
.. _Laravel: https://laravel.com
|
||||
.. _Mia! Accounting Django: https://github.com/imacat/mia-accounting-django
|
||||
.. _during the pandemic: https://en.wikipedia.org/wiki/COVID-19_pandemic
|
||||
.. _FastAPI: https://fastapi.tiangolo.com
|
||||
.. _Django's MTV architectural pattern: https://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names
|
||||
.. _class-based views: https://docs.djangoproject.com/en/4.2/topics/class-based-views/
|
||||
.. _microframeworks: https://en.wikipedia.org/wiki/Microframework
|
||||
.. _Flask: https://flask.palletsprojects.com
|
||||
Reference in New Issue
Block a user