Smart B2B Financial Calculator
Comprehensive B2B financial calculator with tax calculations, currency conversion, and detailed guides for Polish entrepreneurs.
Key Features & Capabilities:
- Advanced Tax Calculator - Calculate revenue, costs, and taxes for different business forms (Flat Tax, Tax Scale, Lump Sum).
- Real-time Currency Converter - Live exchange rates from NBP and CoinGecko APIs.
- Comprehensive Tax Guide - Detailed explanations of Polish tax systems for businesses.
- Multi-page Application - Dedicated pages for Calculator, Currencies, Company Info, and Tax Guide.
- Dark & Light Mode - Fully customizable theme with smooth transitions.
- Polish & English Translations - Complete internationalization support.
- Persistent Settings - Remembers your preferences across sessions.
- 100% Client-Side - Your financial data never leaves your browser.
- Optimized for Production - Efficiency, safety, and accessibility.
Calculator-B2B/
βββ application/
β βββ public/ # Static assets
β β
β βββ src/
β β βββ components/
β β β βββ calculator/
β β β β βββ CostsCard.tsx # Business costs input
β β β β βββ ResultsCard.tsx # Calculation results display
β β β β βββ RevenueCard.tsx # Revenue input
β β β β βββ SettingsCard.tsx # Calculator settings
β β β β
β β β βββ common/
β β β β βββ Button.tsx # Reusable button component
β β β β βββ Card.tsx # Card container
β β β β βββ CardHeader.tsx # Card header with title
β β β β βββ ComingSoonPage.tsx # Coming soon placeholder
β β β β βββ CustomDropdown.tsx # Dropdown selector
β β β β βββ EmptyState.tsx # Empty state component
β β β β βββ ErrorBoundary.tsx # Error handling wrapper
β β β β βββ FormField.tsx # Form input field
β β β β βββ icons.tsx # Icon components
β β β β βββ LegalPage.tsx # Legal page template
β β β β βββ LoadingSpinner.tsx # Loading indicator
β β β β
β β β βββ currency/
β β β β βββ CurrencyCard.tsx # Currency info card
β β β β βββ CurrencyConverter.tsx # Currency conversion UI
β β β β
β β β βββ guide/
β β β β βββ ComparisonTable.tsx # Tax system comparison
β β β β βββ GuideSection.tsx # Guide section wrapper
β β β β βββ InfoBox.tsx # Information box
β β β β βββ ItemList.tsx # List component
β β β β βββ TableOfContents.tsx # Navigation for guide
β β β β βββ TaxRateBox.tsx # Tax rate display
β β β β βββ sections/
β β β β βββ FlatTaxSection.tsx # Flat tax guide
β β β β βββ IntroSection.tsx # Introduction
β β β β βββ LumpSumSection.tsx # Lump sum guide
β β β β βββ SummarySection.tsx # Summary
β β β β βββ TaxScaleSection.tsx # Tax scale guide
β β β β βββ WhenSection.tsx # When to use guide
β β β β
β β β βββ layout/
β β β βββ Footer.tsx # App footer
β β β βββ Header.tsx # App header with navigation
β β β βββ Layout.tsx # Main layout wrapper
β β β
β β βββ constants/
β β β βββ app.ts # App-wide constants
β β β βββ config.ts # Configuration values
β β β βββ currency.ts # Currency constants
β β β βββ routes.ts # Route definitions
β β β βββ styles.ts # Style constants
β β β
β β βββ contexts/
β β β βββ LanguageContext.tsx # Language state management
β β β βββ ThemeContext.tsx # Theme provider & logic
β β β
β β βββ hooks/
β β β βββ useActiveSection.ts # Active section tracking
β β β βββ useCalculatorOptions.ts # Calculator options hook
β β β βββ useCurrencyConverter.ts # Currency conversion logic
β β β βββ useCurrencyRates.ts # Currency rates fetching
β β β βββ useLanguage.ts # Language management hook
β β β βββ useTheme.ts # Theme state hook
β β β
β β βββ i18n/
β β β βββ config.ts # i18next configuration
β β β βββ locales/
β β β βββ en.json # English translations
β β β βββ pl.json # Polish translations
β β β
β β βββ pages/
β β β βββ CalculatorPage.tsx # Main calculator page
β β β βββ CompanyPage.tsx # Company information page
β β β βββ CurrenciesPage.tsx # Currency converter page
β β β βββ GuidePage.tsx # Tax guide page
β β β βββ PrivacyPolicyPage.tsx # Privacy policy
β β β βββ TermsOfServicePage.tsx # Terms of service
β β β βββ UOPPage.tsx # UOP calculator page
β β β
β β βββ services/
β β β βββ currency/
β β β βββ currency.service.ts # Currency service facade
β β β βββ clients/
β β β βββ base.client.ts # Base API client
β β β βββ coingecko.client.ts # CoinGecko API
β β β βββ nbp.client.ts # NBP API client
β β β
β β βββ types/
β β β βββ calculator.ts # Calculator type definitions
β β β βββ components.ts # Component prop types
β β β βββ currency.ts # Currency types
β β β βββ guide.ts # Guide types
β β β βββ i18n.ts # i18n types
β β β
β β βββ utils/
β β β βββ cache.ts # Caching utilities
β β β βββ cookies.ts # Cookie management
β β β βββ format.ts # Formatting helpers
β β β βββ guideHelpers.ts # Guide helper functions
β β β
β β βββ App.tsx # Root component with providers
β β βββ main.tsx # React DOM rendering entry point
β β βββ index.css # Global styles & Tailwind imports
β β
β βββ index.html # HTML entry point
β βββ package.json # Dependencies & scripts
β βββ tsconfig.json # TypeScript configuration
β βββ tsconfig.app.json # App-specific TS config
β βββ tsconfig.node.json # Node-specific TS config
β βββ vite.config.ts # Vite build configuration
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ postcss.config.js # PostCSS configuration
β βββ eslint.config.js # ESLint rules & plugins
β βββ .gitignore
β
βββ LICENSE # MIT License
βββ README.md # Project documentation
- Node.js 18.0.0 or higher
- npm 7.0.0 or higher (or yarn/pnpm equivalent)
- Modern web browser (Chrome, Firefox, Safari, Edge)# 1οΈβ£ Clone the repository
git clone https://github.com/damianczer/Calculator-B2B.git
# 2οΈβ£ Navigate to project directory
cd Calculator-B2B/application
# 3οΈβ£ Install dependencies
npm install
# 4οΈβ£ Start development server
npm run dev
# π Application will open at http://localhost:5173# Create optimized production build
npm run build
# Production files will be in the 'dist' folder
# Deploy the entire dist folder to your web hosting
# Optional: Preview production build locally
npm run preview# Run ESLint for code quality
npm run lint
# Type checking
npm run buildCopyright Β© 2025 Damian CzerwiΕski
This project is copyrighted and proprietary software.
All rights reserved.
Unauthorized copying, modification, distribution, or use of this software,
via any medium, is strictly prohibited without explicit written permission
from the copyright holder.
For licensing inquiries or permission requests:
π§ Email: [email protected]
π Web: https://www.damianczerwinski.pl
Made with β€οΈ and β by Damian CzerwiΕski
Building beautiful, functional web experiences one component at a time