Project structure
on-market-landing-api/
│
├── config/ # Configuration files
│ ├── api.js # API endpoint configurations
│ ├── bull.js # Bull queue configuration
│ ├── db.js # Database configuration
│ ├── minio.js # Minio storage configuration
│ ├── multer.js # File upload configuration
│ └── redis.js # Redis client configuration
│
├── controller/ # Request handlers & business logic
│ ├── affiliate/ # Affiliate management controllers
│ ├── transaction/ # Transaction processing
│ │ ├── checkout.controller.js
│ │ ├── order_management.controller.js
│ │ ├── transaction_admin.controller.js
│ │ ├── transaction_report.controller.js
│ │ └── update_status.controller.js
│ ├── virtualAccount/ # Virtual account management
│ ├── auth_complement.controller.js
│ ├── balance.controller.js
│ ├── bank.controller.js
│ ├── cart.controller.js
│ ├── chat.controller.js
│ ├── cms.controller.js
│ ├── expedition.controller.js
│ ├── osas.controller.js
│ ├── product.controller.js
│ ├── review.controller.js
│ ├── store.controller.js
│ ├── trend.controller.js
│ ├── voucher.controller.js
│ ├── webhook.controller.js
│ └── wishlist.controller.js
│
├── docs/ # API documentation
│ └── openapi.json # OpenAPI 3.0 specification
│
├── middleware/ # Express middleware
│ ├── auth.js # Authentication middleware
│ ├── encode_json_from_form-data.js
│ ├── error_param_handler.js # Error handling
│ ├── json_validator.js # JSON validation
│ ├── multer_additional.js # File upload helpers
│ ├── other_validator.js # Custom validators
│ ├── passport.js # Passport strategies
│ ├── review.middleware.js # Review-specific middleware
│ ├── safecheck.js # Security checks
│ ├── signature.js # Request signature validation
│ ├── utility.js # Utility middleware
│ └── verify.js # Token verification
│
├── model/ # Data models
│ ├── affiliate/ # Affiliate-related models
│ ├── cms/ # CMS models
│ ├── config_expedition/ # Shipping configuration
│ ├── master_location/ # Location data
│ ├── mongodb/ # MongoDB schemas
│ ├── pricelist/ # Pricing models
│ ├── index.js # Model initialization
│ └── [various model files] # Sequelize models
│
├── resources/ # Static resources & uploads
│ ├── static/ # Static files
│ └── temp/ # Temporary files
│ ├── upload/ # Upload temp directory
│ ├── review/ # Review image temp
│ └── pdf/ # PDF generation temp
│
├── router/ # Route definitions
│ ├── address.routes.js
│ ├── affiliate.routes.js
│ ├── auth_complement.routes.js
│ ├── balance.routes.js
│ ├── bank.routes.js
│ ├── cart.routes.js
│ ├── chat.routes.js
│ ├── cms.routes.js
│ ├── expedition.routes.js
│ ├── osas.routes.js
│ ├── product.routes.js
│ ├── review.routes.js
│ ├── store.routes.js
│ ├── transaction.routes.js
│ ├── transaction_report.routes.js
│ ├── trend.routes.js
│ ├── virtual_account.routes.js
│ ├── voucher.routes.js
│ └── wishlist.routes.js
│
├── schedulers/ # Scheduled tasks
│ └── scheduledTask.js # Cron job definitions
│
├── schema/ # Validation schemas
│ ├── address.schema.js
│ ├── affiliate.schema.js
│ ├── balance.schema.js
│ ├── bank.schema.js
│ ├── cart.schema.js
│ ├── expedition.schema.js
│ ├── index.js
│ ├── osas.schema.js
│ ├── product.schema.js
│ ├── review.schema.js
│ ├── review-order.schema.js
│ ├── schedule.schema.js
│ ├── transaction.schema.js
│ ├── transaction-report.schema.js
│ ├── update_expedition_service.schema.js
│ ├── voucher.schema.js
│ ├── webhook.schema.js
│ └── wishlist.schema.js
│
├── scripts/ # Utility scripts
│ └── daily_liquidation.js # Daily settlement script
│
├── services/ # External service integrations
│ ├── briva/ # BRI Virtual Account
│ └── chat.services.js # Chat WebSocket handling
│
├── utility/ # Helper functions
│ ├── determineShippingService.utility.js
│ ├── email_util.js
│ ├── general.utility.js
│ ├── generateDailyVouchers.js
│ ├── generateHmacSignature.js
│ ├── generateSignatureToken.js
│ ├── generator.utility.js
│ ├── payment_util.js
│ ├── pick_expedition.utility.js
│ ├── product_validator.js
│ ├── psql.utility.js
│ ├── shipment.utility.js
│ ├── validate_signature.js
│ └── whatsappapi.js
│
├── .gitignore # Git ignore rules
├── DOCUMENTATION.md # This file
├── GOSEND_INTEGRATION_README.md # GoSend integration guide
├── index.js # Application entry point
├── package.json # Dependencies & scripts
├── package-lock.json # Locked dependencies
├── README.md # Project readme
├── REFERRAL_SYSTEM_README.md # Referral system guide
├── referral_system_test.js # Referral system tests
└── utility.js # Legacy utility file