This project was created as part of FreeCodeCamp's Front End Development Libraries certification. For more details, check out the project description file.
- About
- Demo
- Features
- Technologies Used
- Getting Started
- Project Structure
- Contributing
- Other FCC Projects
- Authors
- License
A simple calculator built with React, TypeScript, and Tailwind CSS. Perform simple calculation operations with a beautiful interface.
- 🔢 Basic arithmetic operations (add, subtract, multiply, divide)
- 🌓 Dark/Light mode with system preference detection
- ✨ Beautiful glassmorphism design
- 💅 Smooth animations and transitions
- ⌨️ Keyboard input support
- React v17 (as per FreeCodeCamp requirements)
- TypeScript for static typing
- Tailwind CSS for styling
- Vite for fast development and bundling
- ESLint for code linting and quality control
- Prettier for code formatting
- Lucide React for icons and symbols
Follow these steps to get a local copy up and running:
- Node.js (version 12 or higher)
- npm (usually comes with Node.js)
- Git
git clone git@github.com:MohamedLamineF/JavaScriptCalculatorFCC.gitcd JavaScriptCalculatorFCCnpm installnpm run devsrc/
├── components/
│ ├── Button.tsx
│ ├── ButtonGrid.tsx
│ ├── Calculator.tsx
│ ├── Display.tsx
│ |── Layout/
│ | ├── Header.tsx
│ | └── Footer.tsx
│ └── UI/
│ └── ThemeToggle.tsx
├── handlers/
│ |── digitHandler.ts
│ |── evaluationHandler.ts
│ └── operationsHandler.ts
├── hooks/
│ |── useDarkMode.ts
│ └── useKeyboardInput.tsx
├── reducers/
│ └── calculatorReducer.ts
├── types/
│ └── index.ts
├── utils/
│ |── calculator.ts
│ └── operationsUtils.ts
|── App.tsx
└── main.tsx
We welcome contributions! If you have ideas for improving this project, please feel free to:
- Open an issue to suggest changes or report bugs.
- Submit a pull request with your improvements.
Check out my other projects from the FreeCodeCamp Frontend Development Libraries certification:
Made with ❤️ by Lamine 😛
This project is licensed under the MIT License - see the license file for details.

