Repositorio de Modelos 3D para EducaciΓ³n en MatemΓ‘ticas
LABIMATHS is a web-based catalog system for educational 3D models, combining a static frontend with secure PHP backend for admin operations. Developed for educational purposes, featuring curated 3D models with browser-based preview and print request capabilities.
Key Features:
- π Curated 3D model catalog with filtering
- π Real-time search and advanced filters
- π¨ Interactive 3D viewer (Three.js)
- π Professional print request system with PDF generation
- βοΈ Admin panel for content management
- π± Fully responsive design
- PHP 7.4+ (required for admin panel)
- Web server with PHP support (Apache/Nginx with PHP-FPM)
- Modern browser (Chrome, Firefox, Edge)
- For development: XAMPP, MAMP, or similar PHP local server
# Clone repository
git clone https://github.com/your-org/labimaths.git
# For production: Upload to PHP-enabled web server
# For development: Use XAMPP/MAMP or PHP built-in server
cd labim3d
php -S localhost:8000
# Important: Configure .gitignore to exclude api/auth-config.php
echo "api/auth-config.php" >> .gitignore- Homepage:
index.html - Catalog:
catalog.html - Admin Panel:
admin/index.html- Password:
labim3d2025(configured in/api/auth-config.php) - Session duration: 8 hours
- Password:
- Print Request:
solicitar-impresion.html - API Endpoints:
/api/*(require authentication)
labim3d/
βββ index.html # Homepage
βββ catalog.html # Model catalog
βββ model.html # Model detail + 3D viewer
βββ solicitar-impresion.html # Print request form
βββ css/ # Modular stylesheets
βββ js/ # JavaScript modules
βββ data/
β βββ index.json # Master model list
β βββ models/*.json # Individual model files
βββ models/ # STL files
βββ images/ # Thumbnails + gallery
βββ admin/ # Admin panel
- Real-time search
- Multi-filter (category, type, origin)
- Grid/List view toggle
- Sort options
- Three.js r84 with STLLoader
- Multi-STL file support
- OrbitControls with damping
- Auto-centering and scaling
- PHP session authentication (Session 2+)
- New model creation with file upload
- Edit existing models
- Delete models
- Multi-STL management
- Auto-fill and validation
- localStorage draft backup
- Minimal required fields
- PDF generation (jsPDF)
- Logos from server
- mailto integration
Session 2 Complete (2025-01-04)
- β Homepage with featured models
- β Advanced catalog with filters
- β Model detail pages with gallery
- β 3D viewer with multi-STL support
- β Admin panel with edit mode
- β Print request form with PDF
- π Database growth (6 models β target 20+)
- π Final documentation
Progress: 75% (7/8 sessions)
data/index.json- Master model listdata/models/{id}.json- Individual model data
js/catalog.js- Catalog logicjs/model-viewer.js- 3D viewer + detail pagejs/solicitar-impresion.js- Print form + PDFjs/admin.js- Admin panel logic
css/base.css- Global styles + variablescss/catalog.css- Catalog-specificcss/model.css- Model detail pagescss/solicitar-impresion.css- Print form
api/auth-config.php- Authentication config (sensitive)api/login.php- Login endpointapi/logout.php- Logout endpointapi/check-auth.php- Session verificationapi/upload-model.php- Upload/edit modelsapi/delete-model.php- Delete modelsapi/config.php- Global config & helpers
- Access
admin/index.html - Fill form with model details
- Add STL files (path auto-validated)
- Generate JSON β Downloads 2 files
- Upload files to server:
{id}.jsonβdata/models/index.jsonβdata/(replace)- STL files β
models/ - Images β
images/models/{id}/
- Navigate to model detail page
- Click "Solicitar ImpresiΓ³n"
- Fill minimal fields (name, email, model, quantity)
- Generate PDF (auto-downloads)
- Send email with PDF attached
- ARCHITECTURE.md - System architecture and design decisions
- SESSION-{N}-SUMMARY.md - Detailed session logs
- README.md - This file
- Browser JS caching requires hard refresh (Ctrl+Shift+R)
- Large STL files (>10MB) may take 2-3 seconds to load
- Email requires manual PDF attachment
Frontend:
- HTML5 + CSS3 (Custom properties)
- Vanilla JavaScript (ES6+)
- Three.js r84 (3D rendering)
- jsPDF (PDF generation)
Backend (Session 2+):
- PHP 7.4+ (authentication, file management)
- Session-based authentication
- bcrypt password hashing
Data:
- JSON files for model catalog
- PHP for secure admin operations
Development:
- PHP 7.4+ (XAMPP, MAMP, or built-in server)
- VS Code
- Git version control
Developer: Fernanda LΓ³pez
Organization: TecMedHub - Universidad Austral de Chile
Location: Puerto Montt, Chile
Contact: fernanda.lopez@uach.cl
Educational use - Universidad Austral de Chile
- Session 1: Core functionality
- Session 2: Print request system
- Session 3: Database growth + final polish
- Future: User feedback system, analytics
Last Updated: 2025-01-15
Version: 0.25 (Session 2)
Status: Active Development