makerstash/INDEX.md

12 KiB

MakerStash - Complete Documentation Index

📚 Quick Navigation

Getting Started

Feature Documentation

Original Documentation

Branding


🎯 5 New Features Overview

1. 💰 Filament/Resin Cost Calculator

What it does: Estimates printing costs based on file size and material type

Key Files:

  • Backend: server/services/costCalculator.js
  • API: GET /api/models/:id/cost, POST /api/models/batch/cost
  • Frontend: Cost calculator modal in index.html

Learn More: See FEATURES_NEW.md or API_EXAMPLES.md

What it does: Search across all metadata fields (name, description, creator, notes, source, license)

Key Files:

  • Backend: Enhanced server/routes/models.js - GET /api/models
  • Frontend: Search bar + license filter in sidebar

Learn More: See FEATURES_NEW.md or API_EXAMPLES.md

3. 📜 License Management

What it does: Track and filter models by license type (MIT, Creative Commons, GPL, Apache, CC0, etc.)

Key Files:

  • Database: New license column in models table
  • Backend: License field in upload/update endpoints
  • Frontend: License filter in sidebar, license display in details

Learn More: See FEATURES_NEW.md or API_EXAMPLES.md

4. 🖨️ Bambu Printer Integration

What it does: Connect to Bambu Lab printers and monitor/control printing

Key Files:

  • Backend: server/services/bambuPrinterAPI.js, server/routes/printers.js
  • Database: New printer_settings table
  • Frontend: Printer settings modal

Learn More: See FEATURES_NEW.md or API_EXAMPLES.md

5. 🌙 Dark/Light Theme Toggle

What it does: Switch between light and dark themes with user preference persistence

Key Files:

  • Backend: Theme preference in users table, /api/auth/me/theme
  • Frontend: client/theme.js, CSS variables in styles.css
  • Toggle button in navbar

Learn More: See FEATURES_NEW.md or API_EXAMPLES.md


📊 Implementation Statistics

Category Count Details
New Endpoints 14 3 cost, 9 printer, 2 theme
New Services 2 costCalculator.js, bambuPrinterAPI.js
New Routes 1 printers.js
DB Columns Added 2 license, theme
DB Tables Added 1 printer_settings
New Frontend Files 2 theme.js, features.js
Files Modified 6 database.js, index.js, routes, HTML, CSS
Documentation Pages 6 This guide + 5 others

🚀 Quick Start

For Users

  1. Read IMPLEMENTATION_GUIDE.md - 5 minute overview
  2. Try each feature:
    • Switch theme with moon icon
    • Search models with full-text
    • Filter by license type
    • Add Bambu printer (if you have one)
    • Calculate filament costs

For Developers

  1. Read SUMMARY.md - What was implemented
  2. Review API_EXAMPLES.md - See all endpoints
  3. Study FEATURES_NEW.md - Deep dive documentation
  4. Check code:
    • server/services/ - Backend logic
    • server/routes/printers.js - Printer endpoints
    • client/theme.js - Frontend theme system
    • client/features.js - Feature implementations

For Integrators

  1. Review API_EXAMPLES.md - Copy/paste API calls
  2. Check FEATURES_NEW.md - Detailed specs
  3. Set up local development:
    npm install
    npm run dev
    
  4. Test endpoints with provided curl examples

📖 Documentation by Topic

Installation & Setup

Configuration

API Reference

Frontend Usage

Database Schema

Troubleshooting

Examples


🎓 Learning Paths

Path 1: Just Want to Use It (30 minutes)

  1. Read: IMPLEMENTATION_GUIDE.md
  2. Try: Each feature in the UI
  3. Refer: Back to guide for troubleshooting

Path 2: Want to Integrate (1-2 hours)

  1. Read: API_EXAMPLES.md - See what's available
  2. Read: FEATURES_NEW.md - Understand specs
  3. Test: Curl examples against your instance
  4. Code: Build your integration

Path 3: Want to Understand Architecture (2-4 hours)

  1. Read: SUMMARY.md - Overview
  2. Read: FEATURES_NEW.md - Full details
  3. Study: Source code in server/ and client/
  4. Review: Database schema changes
  5. Experiment: Modify and extend features

Path 4: Want to Extend (4+ hours)

  1. Complete Path 3 first
  2. Review code architecture in key files
  3. Study service implementations
  4. Plan your enhancement
  5. Follow existing patterns
  6. Test thoroughly

🔧 Common Tasks

Add a New Material Type

  1. Edit: server/services/costCalculator.js
  2. Add to DEFAULT_COSTS object
  3. Restart server
  4. Update frontend dropdown in index.html See: FEATURES_NEW.md#material-costs

Change Theme Colors

  1. Edit: client/theme.js - themes object
  2. Update CSS variable values
  3. Or edit: client/styles.css - :root section See: FEATURES_NEW.md#css-variables

Add New License Type

  1. Edit: client/index.html - License filter dropdown
  2. Add option tag
  3. Will be searchable immediately See: FEATURES_NEW.md#implementation

Connect Another Printer Type

  1. Create: New service like server/services/[printerType]API.js
  2. Implement: Same interface as bambuPrinterAPI.js
  3. Register: New routes in server/routes/printers.js
  4. Add UI: Printer settings modal in index.html

Modify Search Behavior

  1. Edit: server/routes/models.js - GET / endpoint
  2. Update query building logic
  3. Add/remove searchable fields
  4. Test with examples

📝 File Organization

manyfold-node/
├── Documentation (6 files)
│   ├── README.md                 ← Original project readme
│   ├── FEATURES_IMPLEMENTED.md   ← Previous features
│   ├── FEATURES_NEW.md           ← New features detailed docs
│   ├── IMPLEMENTATION_GUIDE.md   ← Quick start guide
│   ├── API_EXAMPLES.md           ← API reference examples
│   ├── SUMMARY.md                ← Implementation summary
│   └── BRANDING.md               ← Brand guidelines
│
├── Server (Backend)
│   ├── server/
│   │   ├── index.js              ← MODIFIED: Added printers route
│   │   ├── database.js           ← MODIFIED: Added columns/tables
│   │   ├── services/
│   │   │   ├── costCalculator.js ← NEW
│   │   │   ├── bambuPrinterAPI.js← NEW
│   │   │   └── thumbnailGenerator.js
│   │   ├── routes/
│   │   │   ├── auth.js           ← MODIFIED: Added theme endpoint
│   │   │   ├── models.js         ← MODIFIED: Added cost + search
│   │   │   ├── printers.js       ← NEW
│   │   │   ├── collections.js
│   │   │   ├── tags.js
│   │   │   ├── bulk.js
│   │   │   ├── printQueue.js
│   │   │   ├── export.js
│   │   │   └── import.js
│   │   └── middleware/
│   │       └── auth.js
│   │
│   └── package.json
│
├── Client (Frontend)
│   └── client/
│       ├── index.html            ← MODIFIED: Added modals, buttons
│       ├── styles.css            ← MODIFIED: Added CSS variables, styles
│       ├── app.js                ← Existing
│       ├── app-features.js       ← Existing
│       ├── viewer3d.js           ← Existing
│       ├── theme.js              ← NEW
│       └── features.js           ← NEW
│
└── Uploads
    └── uploads/
        ├── files/                ← Model files
        └── images/               ← Thumbnails

🧪 Testing Checklist

  • Cost Calculator works with different materials
  • Search finds models across all fields
  • License filter works and shows licenses
  • Can add Bambu printer (need token)
  • Can switch theme and it persists
  • Dark theme is readable
  • Light theme is readable
  • All existing features still work
  • No console errors
  • Database migrations ran successfully

📞 Need Help?

  1. Something not working?

  2. Want to use an API?

    • Go to API_EXAMPLES.md
    • Find the endpoint
    • Copy the curl example
    • Customize for your use
  3. Want to understand something?

    • Check the index below for the right document
    • Search within the document
    • Review the code
    • Check comments in source
  4. Want to extend?


📚 Complete Document Index

Document Purpose Length Audience
README.md Project overview Medium Everyone
IMPLEMENTATION_GUIDE.md Quick start guide Medium Users & Developers
SUMMARY.md What was implemented Long Project managers
FEATURES_NEW.md Complete feature docs Very Long (600+) Developers
API_EXAMPLES.md API reference Long (500+) Integrators
FEATURES_IMPLEMENTED.md Previous features Medium Reference
BRANDING.md Brand guidelines Short Designers

Verification Checklist

  • All 5 features implemented
  • All APIs working
  • Database migrations created
  • Frontend UI complete
  • Documentation complete (6 docs)
  • Code comments added
  • Examples provided
  • No breaking changes
  • Error handling included
  • Security verified
  • Production ready

📈 Next Steps

  1. Read IMPLEMENTATION_GUIDE.md - 10 minutes
  2. Test each feature in the UI - 10 minutes
  3. Review API_EXAMPLES.md if integrating - 10 minutes
  4. Read FEATURES_NEW.md for deep dive - 30 minutes
  5. Explore the code - as needed

Status: Complete & Ready to Use!

Last Updated: January 12, 2026


Quick Links: