How bertoale/penjualan works
Penjualan App is a web-based sales and purchasing management system. Users log in, maintain product and partner records, record sales or purchases, and view or export reports. The Vue client communicates with an Express API; controllers implement domain operations using Sequelize models backed by MySQL. The tree and README document additional client features, but most frontend views and several controllers were not sampled, so their detailed wiring is not asserted.
Main entry points: App.vue Vue app · app.js HTTP application · api.js API client · index.js Sequelize models
Components 22
Vue client
- Vue app
client/src/App.vue - Login
client/src/views/Login.vue - Catalog management
client/src/views/Produk.vue - Sales workflow
client/src/views/Penjualan.vue - Purchase workflow
client/src/views/Pembelian.vue - Reports and export
client/src/views/Reports.vue - API client
client/src/services/api.js
Express API
- HTTP application
server/app.js - User routes
server/routes/userRoutes.js - Product routes
server/routes/produkRoutes.js - Sales routes
server/routes/penjualanRoutes.js - Purchase routes
server/routes/pembelianRoutes.js - Report routes
server/routes/reportsRoutes.js
Business operations
- Authentication
server/middleware/auth.js - User management
server/controllers/userController.js - Product management
server/controllers/produkController.js - Sales transactions
server/controllers/penjualanController.js - Purchase transactions
server/controllers/pembelianController.js - Report generation
server/controllers/reportsController.js
Persistence
- Sequelize models
server/models/index.js - MySQL database
Other components
- Staff user
Connections 32
- Staff user → Vue app: uses
- Vue app → Login: renders
- Vue app → Catalog management: renders
- Vue app → Sales workflow: renders
- Vue app → Purchase workflow: renders
- Vue app → Reports and export: renders
- Login → API client: requests
- Catalog management → API client: requests
- Sales workflow → API client: requests
- Purchase workflow → API client: requests
- Reports and export → API client: requests
- API client → HTTP application: HTTP requests
- HTTP application → User routes: dispatches
- HTTP application → Product routes: dispatches
- HTTP application → Sales routes: dispatches
- HTTP application → Purchase routes: dispatches
- HTTP application → Report routes: dispatches
- User routes → Authentication: applies
- Product routes → Authentication: applies
- Sales routes → Authentication: applies
- Purchase routes → Authentication: applies
- User routes → User management: dispatches
- Product routes → Product management: dispatches
- Sales routes → Sales transactions: dispatches
- Purchase routes → Purchase transactions: dispatches
- Report routes → Report generation: dispatches
- User management → Sequelize models: reads/writes
- Product management → Sequelize models: reads/writes
- Sales transactions → Sequelize models: reads/writes
- Purchase transactions → Sequelize models: reads/writes
- Report generation → Sequelize models: queries
- Sequelize models → MySQL database: persists