A forensic examination of the MyEZTransfer backend's directory structure and file organization reveals a robust, modular architecture built primarily with **Python and Django**. This setup supports a wide range of financial services through distinct application components.
Core Django Project & Structure
- `manage.py`: The Django project's command-line utility for administrative tasks.
- `ewallet/` (Main Project Directory):
- `settings.py`: Central configuration for the entire Django project.
- `urls.py`: Main URL routing for the project, dispatching to individual app URLs.
- `wsgi.py` / `asgi.py`: Entry points for web servers (WSGI for synchronous, ASGI for asynchronous).
- `README.md`, `sorab.txt`: Project documentation and miscellaneous notes.
Backend Directory Structure (Accordion View)
Explore the core directory structure of the MyEZTransfer Backend application through an interactive accordion, providing a clearer view of its organization.
- README.md
- manage.py
- sorab.txt
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- process.py
- tests.py
- urls.py
- utils.py
- views.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- email.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- utils.py
- views.py
- views.py.save
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- static/
- templates/
- tests.py
- urls.py
- urls.pyy
- views.py
-
- __init__.py
- __pycache__/
- asgi.py
- settings.py
- urls.py
- wsgi.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
- views.py.save
- views.py.save.1
-
- profile_image/ (contains image files)
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- genrateAmlPdf.py
- logo.png
- migrations/
- models.py
- models.py.save
- serializers.py
- tests.py
- urls.py
- utils.py
- views.py
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializers.py
- tests.py
- urls.py
- views.py
- views.py.save
-
- admin/
- images.zip
- img/
- js/
- lib/
- main.js
- rest_framework/
- scss/
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
-
- LICENSE.txt
- Mdashboard.html
- Mhome.html
- ... (many other .html files)
- snippet/
- style.css
- typography.html
- widget.html
-
- __init__.py
- __pycache__/
- admin.py
- apps.py
- migrations/
- models.py
- serializer.py
- tests.py
- urls.py
- views.py
Modular Application Domains (Django Apps)
The backend is organized into distinct Django applications, each handling specific business functionalities:
- `UI/`: Likely contains Django views and templates related to the web-based user interface (Backoffice Admin Panel). Includes `process.py` and `utils.py` for UI-related logic.
- `authentication/`: Manages user authentication, registration, login, password resets, and potentially OTP/email verification. Includes `email.py` for email functionalities.
- `billing/`: Handles billing profiles, payment integrations (e.g., Stripe), and order management. Contains `templates/` for billing-related HTML pages.
- `ewallet/`: (Likely the main e-wallet functionality, distinct from `myWallet`). Contains core project settings/URLs.
- `insurance/`: Dedicated to insurance-related features and data.
- `loan/`: Manages loan applications, approvals, and repayment processes.
- `merchant/`: Implements functionalities specific to merchant accounts and services.
- `moneyexchange/`: Handles currency exchange rates and transactions.
- `myWallet/`: (Potentially the primary e-wallet application or a module closely related to `ewallet`). Contains `genrateAmlPdf.py` for AML document generation.
- `payment/`: Focuses on payment processing logic, potentially integrating with external payment gateways.
- `tax/`: Manages tax calculations and tax return functionalities.
- `utilitybill/`: Handles utility bill payment services.
API, Data & Business Logic
Within each Django application, the following patterns and files are consistently observed for API endpoints, data modeling, and core business logic:
- `models.py`: Defines database schemas using Django's ORM.
- `migrations/`: Contains database schema migration files, managed by Django's ORM.
- `views.py`: Implements API endpoints and web views (using Django REST Framework for APIs).
- `urls.py`: Defines URL routing for the specific application's views.
- `serializer.py` / `serializers.py`: Defines data serialization/deserialization for Django REST Framework APIs.
- `admin.py`: Registers models with the Django Admin interface.
- `tests.py`: Contains unit and integration tests for the application's logic.
- `utils.py`: Houses utility functions and helper methods.
- `process.py` (in `UI/`): Suggests dedicated files for complex processing logic.
- `genrateAmlPdf.py` (in `myWallet/`): A specific example of a utility for generating AML documents.
Static Assets & Templates
- `static/` directory: Contains static files (CSS, JavaScript, images) served directly by the web server (Nginx Proxy Manager in production).
- `static/admin/`: Django's built-in admin static files (CSS, JS, fonts, images).
- `static/css/`, `static/js/`, `static/images/`: Custom application-specific static assets.
- `static/lib/`: Third-party JavaScript libraries (e.g., Chart.js, Owl Carousel, Tempus Dominus, Waypoints).
- `static/rest_framework/`: Static files for Django REST Framework's browsable API.
- `static/scss/`: Source for SCSS styling, compiled into CSS.
- `templates/` directory: Houses Django HTML templates for rendering web pages.
- Includes various HTML files for different sections of the Backoffice (e.g., `Mdashboard.html`, `adduser.html`, `history.html`, `walletToBank.html`).
- `snippet/paginatorsnippet.html`: Example of reusable template snippets.
- `media/` directory: Stores user-uploaded content (e.g., profile images).
Development & Operational Artifacts
- `__pycache__/` directories: Contain compiled Python bytecode (`.pyc` files), generated during execution for faster loading.
- `.py.save` files: Indicate temporary or backup files from text editors (e.g., `views.py.save`, `models.py.save`, `urls.pyy`). These should typically be excluded from version control.
- `.git/` (Implied): While not in the provided tree, the presence of a `README.md` and a structured project suggests version control (likely Git) is in use.
- `local.properties` (Implied): Often found in Android projects, but if this were a Django project root, it could indicate local environment settings.