AppBox is a modern, responsive utility suite built with React, Ant Design, and Electron. It bundles multiple everyday tools into a single app that runs as a desktop application (Windows/macOS/Linux) and can also be deployed as a web build.
Demo (web preview): https://appbox.msyb.dev/
- Full-width, responsive UI across pages and components
- Local persistence via
localStorage(todos, calculator history, weather settings, world clock cities) - Keyboard-friendly calculator (Enter to evaluate, Esc to clear)
- Cross‑platform packaging via
electron-builder(Windows NSIS, macOS DMG, Linux DEB)
-
Calculator
- Basic + Scientific modes
- History panel (last entries)
- Keyboard input support
-
Converters
- Multiple categories (length, weight, temperature, speed, time, storage, area, volume)
- Swap units and instant conversion
-
Todo List
- Add, complete, delete
- Filters: all / active / completed
- Clear done / clear all
- Persists your tasks locally
-
Clock & Timer
- Digital clock
- Countdown timer
- Stopwatch
-
World Clock
- Add/remove cities
- Local time + multi‑timezone overview
- Persists selected cities locally
-
Weather
- City search + detailed weather panel
- Persisted settings (API key + default city)
- UI: React 19, Ant Design 6, @ant-design/icons
- Desktop: Electron
- Math: mathjs
- Build tooling: react-scripts, electron-builder
- Performance metrics: web-vitals
- Node.js (LTS recommended)
- npm
- (Optional) OpenWeatherMap API key for Weather
Clone the repo:
git clone https://github.com/shehari007/mini-react-electron-desktop-app.git
cd mini-react-electron-desktop-appInstall dependencies:
npm installnpm startnpm run electron:startThis starts the React dev server and opens Electron in desktop window mode.
The Weather tool uses OpenWeatherMap:
- Create a free API key: https://openweathermap.org/api
- In the app, open Weather → Settings
- Add your API Key and (optionally) a Default City
Settings are stored locally in localStorage.
npm start— React dev server (web)npm run build— Production web buildnpm test— Run testsnpm run electron:start— Run Electron + React dev servernpm run electron:package:win— Package Windows (NSIS)npm run electron:package:mac— Package macOS (DMG)npm run electron:package:linux— Package Linux (DEB)
npm run buildServe locally:
npm install -g serve
serve -s build# Windows
npm run electron:package:win
# macOS
npm run electron:package:mac
# Linux
npm run electron:package:linuxThis project uses Electron settings that are convenient for development and local apps (Node integration / CSP allowing inline scripts). If you plan to ship this broadly, consider hardening Electron security (enable contextIsolation, use preload.js, and avoid unsafe-inline).
MIT — see https://choosealicense.com/licenses/mit/
- Email: [email protected]
- GitHub: https://github.com/shehari007
If you find this project useful, starring the repo helps a lot.
Buy me a coffee: https://www.buymeacoffee.com/shehari007






