Developer Guide
We used Laravel Standard folder structure with some extensions.
sh
.
├─ app
│ ├─ Actions
│ │ ├─ Fortify
│ │ ├─ Jetstream
│ │ ├─ SMA
│ │ ├─ ├─ SMA Action files to save data
│ ├─ Casts
│ ├─ Console
│ ├─ Core
│ │ ├─ To extend few class like Notification & Translator
│ ├─ Events
│ │ ├─ Events are used for stock sync
│ ├─ Exports
│ │ ├─ Exportable classes
│ ├─ Helpers
│ │ ├─ Env
│ │ ├─ functions.php (for SMA helper functions - auto loaded)
│ ├─ Http
│ │ ├─ Controllers
│ │ ├─ ├─ Sma
│ │ ├─ ├─ ├─ Order (sale and purchase menu related controllers)
│ │ ├─ ├─ ├─ People (people menu related controllers)
│ │ ├─ ├─ ├─ Pos (point of sale menu related controllers)
│ │ ├─ ├─ ├─ Product (product menu related controllers)
│ │ ├─ ├─ ├─ Report (reports controllers)
│ │ ├─ ├─ ├─ Search
│ │ ├─ ├─ ├─ ├─ SearchController
│ │ ├─ ├─ ├─ Settings (settings menu related controllers)
│ │ ├─ ├─ ├─ HomeController
│ │ ├─ ├─ ├─ PublicController
│ │ ├─ Middlewares
│ │ ├─ ├─ HandleInertiaRequests (shares data to Vuejs $page.props)
│ │ ├─ ├─ Other Middlewares
│ │ ├─ Requests
│ │ ├─ ├─ Sma
│ │ ├─ ├─ ├─ Order (sale and purchase menu related form request)
│ │ ├─ ├─ ├─ People (people menu related form request)
│ │ ├─ ├─ ├─ Product (product menu related form request)
│ │ ├─ ├─ ├─ Setting (point of sale menu related form request)
│ │ ├─ ├─ LoginRequest (extends fortify login request)
│ │ ├─ Resources (for pagination data)
│ ├─ Imports
│ │ ├─ Importable classes
│ ├─ Jobs
│ │ ├─ FiscalService (classes to send your sales data to Govt. fiscal service)
│ │ ├─ ├─ ReportNewReturnSale (send return order to fiscal service)
│ │ ├─ ├─ ReportNewSale (send sale to fiscal service)
│ │ ├─ ├─ ReportSaleUpdate (send sale update to fiscal service)
│ ├─ Listeners
│ │ ├─ Events are listened and stock sync done here
│ ├─ Livewire
│ ├─ Models
│ │ ├─ SMA (all SMA related model here)
│ ├─ Notifications
│ │ ├─ SMA (all SMA notifications for sale, purchase & payments etc)
│ ├─ Observers (some fire events and others to perform actions like payment sync etc)
│ ├─ Policies
│ │ ├─ UpdatePolicy
│ ├─ Providers
│ ├─ Rules
│ ├─ Services (to check overselling or calculate order data)
│ ├─ Traits (model traits)
├─ bootstrap
│ ├─ app.php
│ ├─ providers.php
├─ config (Laravel and packages config files)
├─ database
├─ lang (language files are in this folder for translation)
├─ modules* (shop module for now)
├─ packages*
├─ public (root path for public access/traffic)
├─ resources (views, css and javascript files)
├─ routes (application routes)
├─ storage
├─ tests
├─ vendors
├─ artisan
├─ composer.json
├─ package.json
├─ vite.config.js
└─ other files*
app
Actions
Sma
SaveAdjustment.php
Casts
AppDate.php
ProductStoreTaxes.php
Console
Core
Notifiable.php
Router.php
Translator.php
Events
AdjustmentEvent.php
AttachmentEvent.php
PurchaseEvent.php
ReturnOrderEvent.php
SaleEvent.php
TransferEvent.php
Exports
BrandExport.php
CategoryExport.php
ComboProductExport.php
CustomerExport.php
ProductExport.php
ProductsExport.php
ProductTaxExport.php
ProductVariationExport.php
StockCountExport.php
SupplierExport.php
Helpers
Env.php
functions.php
Http
Controllers
Sma
Order
DeliveryController.php
EmailController.php
ExpenseController.php
GiftCardController.php
PaymentController.php
PurchaseController.php
QuotationController.php
ReturnOrderController.php
SaleController.php
People
AddressController.php
CustomerController.php
CustomerGroupController.php
CustomerPortController.php
PriceGroupController.php
RoleController.php
SupplierController.php
SupplierPortController.php
UserController.php
Pos
OrderController.php
PosController.php
PosRegisterController.php
RegisterController.php
RegisterReportController.php
SettingController.php
Product
AdjustmentController.php
BrandController.php
BrandPortController.php
CategoryController.php
CategoryPortController.php
EmailController.php
LabelController.php
ProductController.php
ProductPortController.php
PromotionController.php
StockCountController.php
StockTrackController.php
TransferController.php
UnitController.php
Report
AdjustmentController.php
BrandController.php
CategoryController.php
CustomerController.php
ExpenseController.php
PaymentController.php
ProductController.php
PurchaseController.php
ReturnOrderController.php
SaleController.php
StaffController.php
SupplierController.php
TransferController.php
Search
SearchController.php
Setting
AccountController.php
CustomFieldController.php
MailController.php
PaymentController.php
RegisterController.php
ScaleBarcodeController.php
SettingController.php
StoreController.php
TaxController.php
AjaxController.php
AttachmentController.php
HomeController.php
PublicController.php
Controller.php
Middlewares
HandleInertiaRequests.php
Language.php
OpenRegister.php
SelectStore.php
Requests
Sma
Order
DeliveryRequest.php
ExpenseRequest.php
GiftCardRequest.php
PaymentRequest.php
PurchaseRequest.php
QuotationRequest.php
ReturnOrderRequest.php
SaleRequest.php
People
AddressRequest.php
CustomerGroupRequest.php
CustomerRequest.php
PriceGroupRequest.php
RoleRequest.php
SupplierRequest.php
UserRequest.php
Product
AdjustmentRequest.php
BrandRequest.php
CategoryRequest.php
ProductRequest.php
PromotionRequest.php
StockCountRequest.php
TransferRequest.php
UnitRequest.php
Setting
AccountRequest.php
CustomFieldRequest.php
StoreRequest.php
TaxRequest.php
LoginRequest.php
Resources
Collection.php
Resource.php
Imports
BrandImport.php
CategoryImport.php
ComboProductImport.php
ComboProductRowImport.php
CustomerImport.php
ProductImport.php
ProductsImport.php
ProductTaxImport.php
ProductVariationImport.php
StockCountImport.php
SupplierImport.php
Jobs
FiscalService
ReportNewReturnSale.php
ReportNewSale.php
ReportSaleUpdate.php
Sma
AdjustStoreStock.php
Listeners
AdjustmentEventListener.php
AttachmentEventListener.php
PurchaseEventListener.php
ReturnOrderEventListener.php
SaleEventListener.php
TransferEventListener.php
Models
Scopes
OfStore.php
Sma
Order
AwardPoint.php
Delivery.php
Expense.php
GiftCard.php
ItemVariation.php
Payment.php
Purchase.php
PurchaseItem.php
Quotation.php
QuotationItem.php
ReturnOrder.php
ReturnOrderItem.php
Sale.php
SaleItem.php
People
Address.php
Customer.php
CustomerGroup.php
PriceGroup.php
Supplier.php
User.php
Pos
Order.php
Printer.php
Register.php
Product
Adjustment.php
AdjustmentItem.php
Brand.php
Category.php
Product.php
ProductStore.php
Promotion.php
Serial.php
Stock.php
StockCount.php
StockCountItem.php
Track.php
Transfer.php
TransferItem.php
Unit.php
UnitPrice.php
Variation.php
Setting
Account.php
CustomField.php
Store.php
Tax.php
Company.php
Country.php
Model.php
Permission.php
Role.php
Setting.php
State.php
Timezone.php
User.php
Notifications
Sma
Order
PaymentNotification.php
PurchaseNotification.php
QuotationNotification.php
ReturnOrderNotification.php
SaleNotification.php
Product
TransferNotification.php
Notifications
AdjustmentObserver.php
ExpenseObserver.php
PaymentObserver.php
ProductObserver.php
PurchaseObserver.php
ReturnORderObserver.php
SaleObserver.php
TransferObserver.php
VariationObserver.php
Policies
UpdatePolicy.php
Providers
AppServiceProvider.php
FortifyServiceProvider.php
JetstreamServiceProvider.php
Rules
AddressState.php
ExtraAttributes.php
LocaleLength.php
PhoneNumber.php
ProductVariation.php
Recaptcha.php
Turnstile.php
Services
CheckOverSelling.php
OrderCalculator.php
OrderItemCalculator.php
Traits
Authorizable.php
GroupPrice.php
HasAttachments.php
HasAwardPoints.php
HasPromotions.php
HasSchemalessAttributes.php
HasStock.php
HasTaxes.php
HidePrivateAttributes.php
Impersonate.php
LogActivity.php
Paginatable.php
SyncHasMany.php
Trackable.php
bootstrap
app.php
providers.php
config
database
factories
migrations
seeders
lang
en
en.json
languages.json
modules
packages
public
resources
css
app.css
js
Components
Core
Layouts
Pages
app.js
ssr.js
views
app.blade.php
routes
groups
pos.php
public.php
report.php
search.php
settings.php
sma.php
api.php
console.php
web.php
storage
app
public
private
framework
logs
tests
vendor
.env
.gitignore
artisan
composer.json
package.json
vite.config.js