An interactive web app for exploring the bijective base-6 number system—a system with no zero. This educational tool features a hands-on calculator, a live number system converter, detailed explanations, and a configurable practice mode, all presented in a clean, Nord-inspired dark theme. Dive into the fascinating world of zero-less mathematics with this interactive web application dedicated to the bijective base-6 number system. More than just a calculator, this educational tool provides in-depth explanations, a configurable practice mode, and full support for 9 languages. Explore a number system used in modern computing, from spreadsheet columns to URL shorteners, all within a polished, Nord-inspired interface.
- Live Conversion Explorer: Instantly see any decimal number represented in Decimal, Binary, Hexadecimal, and Bijective Base-6.
- Bijective Calculator: Perform addition, subtraction, multiplication, and division directly with bijective base-6 numbers.
- Educational Content: A dedicated "Study" tab tailored for engineers, explaining the practical pros and cons and teaching the algorithms for manual calculation.
- Configurable Practice Mode: Test your skills with math or conversion problems across Easy, Medium, and Hard difficulty levels.
- Reference Tables: View pre-calculated 24x24 Addition and Multiplication tables to easily see patterns.
- Polished UI: A clean, responsive, dual-theme interface that's easy on the eyes.
This application is an educational tool for exploring bijective base-6 numeration. Unlike standard number systems, it has two key properties:
- No Zero: The digits are 1, 2, 3, 4, 5, 6.
- Bijective: Every positive integer has one, and only one, unique string representation (e.g., 7is always11, never011).
Counting proceeds like an odometer that can't show zero. After 6, the next number "rolls over" to 11. This property makes it incredibly useful in computer science for creating compact, unambiguous identifiers.
| Technology | Purpose | 
|---|---|
| Python | The core language for all backend logic and data generation. | 
| FastAPI | A modern, high-performance web framework for building the API endpoints. | 
| slowapi | Provides rate limiting to protect API endpoints from abuse. | 
| pytest | Used for robust unit and integration testing of the backend logic. | 
| Uvicorn | The ASGI server that runs the FastAPI application. | 
| HTML5 / CSS3 | For the structure and styling of the user interface, following modern best practices. | 
| Vanilla JavaScript | Powers all client-side interactivity, including theme switching, API calls, and dynamic content rendering. | 
| Render | The cloud platform used for free, continuous deployment directly from GitHub. | 
To get a local copy up and running, follow these simple steps.
- Python 3.8+
- An active internet connection to download packages
- Clone the repository:
git clone https://github.com/tripping-alien/bijective_base6_calc.git 
- Navigate to the project directory:
cd bijective_base6_calc
- Create and activate a virtual environment:
- Windows:
python -m venv .venv .\.venv\Scripts\Activate.ps1 
- macOS / Linux:
python3 -m venv .venv source .venv/bin/activate
 
- Windows:
- Install the required packages:
pip install -r requirements.txt 
- Run the application:
uvicorn app:app --reload 
- Open your browser and navigate to http://127.0.0.1:8000.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
