72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# Technical Stack
|
|
|
|
## Architecture
|
|
|
|
Single-page application (SPA) with vanilla JavaScript - no build system or framework dependencies.
|
|
|
|
## Core Technologies
|
|
|
|
- **HTML5**: Semantic markup, modern web standards
|
|
- **CSS3**: Custom design system with CSS variables, dark/light theme support
|
|
- **Vanilla JavaScript**: ES6+ features, no frameworks
|
|
- **Chart.js**: Data visualization (loaded via CDN)
|
|
|
|
## External Dependencies
|
|
|
|
```html
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
```
|
|
|
|
## Data Storage
|
|
|
|
- **In-memory state**: All application state stored in JavaScript objects (`appState`, `adminConfig`)
|
|
- **CSV files**: Material database stored in `/BD/*.csv` directory
|
|
- **No backend**: Pure client-side application, no server required
|
|
- **No localStorage**: Data is not persisted between sessions
|
|
|
|
## File Structure
|
|
|
|
```
|
|
/
|
|
├── index.html # Main HTML structure
|
|
├── app.js # UI logic, navigation, modals
|
|
├── calculations.js # Calculation functions
|
|
├── style.css # Complete styling with design system
|
|
└── BD/ # Material database (CSV files)
|
|
├── perfis_w.csv
|
|
├── perfis_i.csv
|
|
├── cantoneiras.csv
|
|
├── tubos_circulares.csv
|
|
├── tubos_rhs.csv
|
|
├── chapas.csv
|
|
├── barras.csv
|
|
├── eletrodos.csv
|
|
├── parafusos.csv
|
|
└── tintas.csv
|
|
```
|
|
|
|
## Running the Application
|
|
|
|
**Development**: Open `index.html` directly in a browser or use a local web server:
|
|
|
|
```bash
|
|
# Python 3
|
|
python -m http.server 8000
|
|
|
|
# Node.js (http-server)
|
|
npx http-server
|
|
|
|
# PHP
|
|
php -S localhost:8000
|
|
```
|
|
|
|
**Production**: Deploy to any static hosting service (GitHub Pages, Netlify, Vercel, etc.)
|
|
|
|
## Browser Compatibility
|
|
|
|
Modern browsers with ES6+ support required (Chrome 60+, Firefox 60+, Safari 12+, Edge 79+).
|
|
|
|
## No Build Process
|
|
|
|
The application runs directly in the browser without compilation, bundling, or transpilation.
|