<<<<<<< HEAD
A production-style full-stack web application for mechanical engineering students to perform common analysis and design calculations.
- Frontend: React (Vite), Tailwind CSS, Chart.js
- Backend: Node.js, Express
- Persistence: JSON file storage (
server/storage/history.json) - Export: PDF generation using
html2canvas+jsPDF
- Dashboard homepage
- Stress & Strain calculator
- Beam deflection calculator (cantilever and simply supported)
- Shaft torsion calculator
- Per-calculator unit selectors (inputs + output display units)
- Heat transfer formulas and calculators (conduction, fins, transient)
- Material selector tool
- Engineering unit converter
- Save calculation history
- Export results as PDF
- Responsive sidebar-based UI
- Dark/light mode toggle
mechanical-engineering-toolkit/
|-- client/
| |-- src/
| | |-- api/
| | |-- components/
| | |-- context/
| | |-- data/
| | |-- hooks/
| | |-- pages/
| | |-- utils/
| |-- package.json
|-- server/
| |-- src/
| | |-- controllers/
| | |-- data/
| | |-- middleware/
| | |-- routes/
| | |-- services/
| | |-- utils/
| |-- storage/history.json
| |-- package.json
|-- package.json
GET /materialsPOST /calculate/stressPOST /calculate/beamPOST /calculate/torsionPOST /saveGET /history
- Stress:
sigma = F / A - Strain (optional):
epsilon = sigma / E - Cantilever Deflection:
delta = P L^3 / (3 E I) - Simply Supported Deflection:
delta = P L^3 / (48 E I) - Shaft Torsion:
tau = T r / J
-
Install dependencies (workspace root):
npm.cmd install --workspaces
-
Start backend API (terminal 1):
npm.cmd --prefix server run dev
-
Start frontend app (terminal 2):
npm.cmd --prefix client run dev
-
Open the Vite URL shown in terminal (usually
http://localhost:5173).
npm.cmd --prefix client run build- History persists in JSON and keeps the newest 500 records.
- Frontend uses Vite proxy settings to call the backend during local development.
- Input validation is enforced on both UI and API layers.
This repo now includes a production Blueprint file: render.yaml.
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/<your-username>/mechanical-engineering-toolkit.git
git push -u origin mainReplace <YOUR_GITHUB_REPO_URL> with your HTTPS repo URL and open:
https://dashboard.render.com/blueprint/new?repo=<YOUR_GITHUB_REPO_URL>
Example:
https://dashboard.render.com/blueprint/new?repo=https://github.com/yourname/mechanical-engineering-toolkit
- Select your Render workspace
- Keep plan as
free - Click Apply
- Wait for build and deploy
- Open the generated Render URL
server/src/app.jsservesclient/distin production, so frontend + backend run from one Render web service.- Health endpoint:
/health - JSON history storage is file-based and ephemeral on free cloud instances. =======
3a6004be8a77e7a92bb82cfb02864694ad6de593