How mikhail-ramirez/lighterpack works
LighterPack is a web app for organizing adventure gear into lists and tracking quantities, weight, and optional prices. The main workflow is editing a list in the dashboard, organizing items by category, and viewing calculated totals; signed-in users can sync library data through the server. The README establishes the gear-tracking purpose, while the sampled client and server excerpts support the editing, authentication, and persistence connections shown. Several capabilities are documented by components or endpoint names, but their detailed wiring is not visible in the excerpts.
Main entry points: dashboard.vue Dashboard · store.js Client state · app.js HTTP application · endpoints.js User endpoints
Components 20
Gear planning
- Dashboard
client/views/dashboard.vue - List editor
client/components/list.vue - Gear item
client/components/item.vue - Totals summary
client/components/list-summary.vue - Library navigation
client/components/sidebar.vue - List sharing
client/components/share.vue - CSV import
client/components/import-csv.vue - Gear images
client/components/item-image.vue
Library model
- Client state
client/store/store.js - Library model
client/lighterpack.js - Domain types
client/dataTypes.js - Weight calculations
client/utils/weight.js
Web services
- HTTP application
app.js - User endpoints
server/endpoints.js - Page delivery
server/views.js
Accounts and moderation
- Authentication
server/auth.js - Moderation endpoints
server/moderation-endpoints.js - Moderation UI
client/views/moderation.vue
Other components
- Adventurer
- MongoDB
Connections 23
- Adventurer → Dashboard: edits gear
- Dashboard → List editor: renders
- Dashboard → Library navigation: renders
- Dashboard → List sharing: renders
- Dashboard → Client state: dispatches edits
- List editor → Gear item: renders items
- List editor → Totals summary: shows totals
- Gear item → Client state: commits changes
- CSV import → Client state: imports rows
- Client state → Library model: loads and updates
- Library model → Domain types: uses models
- Client state → Weight calculations: calculates weight
- HTTP application → User endpoints: mounts routes
- HTTP application → Page delivery: mounts routes
- HTTP application → Moderation endpoints: mounts routes
- HTTP application → Dashboard: serves client
- User endpoints → Authentication: authenticates users
- User endpoints → MongoDB: reads and writes
- Authentication → MongoDB: reads and writes
- Moderation endpoints → Authentication: checks moderator
- Adventurer → Moderation UI: uses moderation
- Moderation UI → Moderation endpoints: requests actions
- Gear images → User endpoints: uploads image