feat: redone the structure of the app for better & easy maintainability
Changes
Refactoring includes:
- Added flask-restx as a package to transform routes into resources.
- Used the DAO Pattern for Subscriptions with as much inheritance as possible to make the code easy to organise & maintain.
- Fixed the startup issues with the clumsy import pattern.
- Created 3 different layers of endpoints, Internal API's, External API's & Template Routes.
- All the dashboard templates call the Internal API's for data. This makes the abstraction between frontend & backend possible.
- Added scripts for running the backend & the mock server in the pipenv.
Notes
- Signup & Login Flow is working. There might be some error-handling left, but with the new structure that should be easy to add.
- Creating, Modifying & Deleting subscriptions is in works, and should be done really soon.
- Celery with RabbitMQ for cron scripts is being tested locally, and will be added subsequently.
Edited by Sarthik Gupta