The TriPay application follows a monolithic architecture built on Laravel framework with Vue.js for frontend interactivity. This architecture combines the traditional MVC (Model-View-Controller) pattern with modern frontend components and service layers for better separation of concerns.

The entry point where users interact with the application through web browsers. All HTTP requests originate from here and responses are rendered back to the user.
Laravel's routing system that acts as the traffic controller for all incoming requests. Use Laravel Mix with Vue Router 2 for frontend routing.
a. Route to Pages (Vue Router)
admin/dashboard, admin/transactions, member/merchant, member/withdrawb. Route to Controller
/api/transaction/create, /api/merchant/updateThe presentation layer that combines Laravel Blade templating with Vue.js components.
a. Blade Templates
/, /about-us, /terms-and-conditions, developer, etc.resources/views/b. Vue.js Components
admin/dashboard, admin/transactions, member/merchant, member/withdrawresources/js/The orchestrator that handles HTTP requests, processes business logic, and coordinates between different layers.
A dedicated layer for complex business logic and external service integrations.
Use Cases:
The data layer that represents database tables and handles data operations using Laravel's Eloquent ORM.
The persistence layer where all application data is stored.
Database Structure:
Key Tables:
users - User accounts and authenticationmerchants - Merchant profiles and configurationstransactions - Payment transaction recordschannels - Available payment channelswithdrawals - Withdrawal historyfees - Transaction fee configurationslogs - System and activity logsExternal services integrated into the application for extended functionality.
Integrated Services:
Browser → Router → View (Blade + Vue) → Browser
Browser → Router → Controller → Service/Model → Database
↓
Response ← Service ← Third-party
View (Frontend Input) → Controller → Service → Model → Database
↓
Third-party Services
The TriPay architecture combines the robustness of Laravel's MVC pattern with modern Vue.js frontend capabilities, creating a maintainable and scalable monolithic application. The addition of Service layer provides better separation of concerns, making the codebase more organized, testable, and easier to maintain as the application grows.