How jadamduff/commission-tracker works
Commission Tracker is a Rails web app for managers to configure products and commissions, and employees to record sales and track earnings. The main workflow runs from routed user requests through account/session or manager/employee controllers to product and sale records, then serves profile and sales views or JSON. The graph also shows manager and employee profile paths and product/sales reporting routes. Some controllers and model implementations were not sampled, so uncertain internal calls and serialization wiring are omitted.
Main entry points: routes.rb Rails routes · products_controller.rb Product actions · sales_controller.rb Sale actions · sessions_controller.rb Sessions
Components 16
Web entry
- Rails routes
config/routes.rb
Accounts and roles
- Sessions
app/controllers/sessions_controller.rb - User profiles
app/controllers/users_controller.rb - Employee profiles
app/controllers/employees_controller.rb - Manager profiles
app/controllers/managers_controller.rb - User records
app/models/user.rb - Manager assignments
app/models/manager_employee.rb
Products and commissions
- Product actions
app/controllers/products_controller.rb - Product pricing
app/helpers/products_helper.rb - Product records
app/models/product.rb
Sales and reporting
- Sale actions
app/controllers/sales_controller.rb - Sale records
app/models/sale.rb - Sales reporting
app/models/sale.rb
Other components
- Manager or employee
- Application database
db/schema.rb - Facebook sign-in
Connections 24
- Manager or employee → Rails routes: sends request
- Rails routes → Sessions: dispatches
- Rails routes → User profiles: dispatches
- Rails routes → Employee profiles: dispatches
- Rails routes → Manager profiles: dispatches
- Rails routes → Product actions: dispatches
- Rails routes → Sale actions: dispatches
- Sessions → User records: finds or creates
- Sessions → Facebook sign-in: accepts callback
- User profiles → User records: creates and reads
- User profiles → Manager assignments: assigns employee
- Employee profiles → User records: reads profiles
- Manager profiles → User records: reads profiles
- Manager profiles → Product records: reads products
- Product actions → Product pricing: sets price
- Product actions → Product records: creates and updates
- Product actions → Sale records: deletes related sales
- Sale actions → Sale records: creates and updates
- Sale actions → Product records: reads products
- Sale actions → Sales reporting: requests quantity order
- Sessions → Application database: persists account
- User profiles → Application database: persists profile
- Product actions → Application database: persists products
- Sale actions → Application database: persists sales