Skip to content

Numbrillig (Original code-name Numbrella) is a web-based app for use with tablets and smartphones allowing children to explore interesting numbers, patterns, sequences, and mathematics beyond their age (Hypernumeracy).

License

Notifications You must be signed in to change notification settings

Diode-exe/numbrella

 
 

Repository files navigation

Numbrillig

Numbrillig is a web-based app for use with tablets and smartphones allowing children to explore interesting numbers, patterns, sequences, and mathematics beyond their age (Hypernumeracy).

Screenshots can be found at the end of this file.

App Instructions

  • Click on any number to proceed to next in sequence
  • Touch can be used to allow scrolling of large numbers or zooming in/out.
  • Tested in Dark Mode on iPad.
  • ⚠️ Photosensitive users should be aware that clicking may introduce flashes between sequences. Rapid clicking may cause repeated flashing.

Getting Started

Prerequisites

One-Time actions (already performed)

  • $> npm init
  • $> npm install next@latest react@latest react-dom@latest
  • $> npm install create-next-app@latest --save
  • $> npx create-next-app@latest

To Run Locally

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

To run prod:

  • npm run build
  • npm run start

Above commands have also been created as PowreShell scripts:

  • .\run-dev.ps1
  • .\run-prod.ps1

Technical Reference

React

Next.js

  • Next.js Docs
  • Static Exports

    Since Next.js supports this static export, it can be deployed and hosted on any web server that can serve HTML/CSS/JS static assets.

    • Unsupported Features:
      • rewrites in next.config.js
      • redirects in next.config.js
      • headers in next.config.js
      • Middleware
      • Incremental Static Regeneration
  • Passing state between pages
  • Lessons Learned:

Tailwind CSS

TypeScript

Deployment

Provisioning Azure Resources

One-Time Environment Setup (Manual Steps)

Scripts below assume that developer is deploying to DEV environment. If deploying to other environments, all references to the resource group will change.

azcli: Get Started with Azure CLI

Step 1: login to az cli

az login

Step 2: Set active subscription

azcli: Managing multiple subscriptions with AZ CLI

Lists all subscriptions and sets a specific one. Useful if user has access to multiple subscriptions (i.e., Corporate, personal, MDN, etc.)

az account show --output table
az account subscription list --output table
az account set --subscription "<subscriptionid>"
az account show --output table

azcli: Create Resource Group

az group create -l canadacentral -n "rgNumbrillig"

Ideas:

Screenshots

Home/Main Page

Main Home Page

Fibonacci, Single

Fibonacci Single calculation

Fibonacci, further in the sequence

Fibonacci further in the sequence

Fibonacci as a list

Fibonacci as a list

Fibonacci list continues to the first 75 iterations of the sequence

☝️ Touch to scroll and zoom the viewport to view larger numbers.

Fibonacci list continues to the first 75 iterations of the sequence

Cube Numbers

Cube numbers

Powers of 2

Powers

Pi to 100 decimals

Pi to 100 decimals

Names of Large Numbers

Names of Large Numbers

Words: Months of the Year

Months of the year

Words: Days of the Week

Days of the week

About

Numbrillig (Original code-name Numbrella) is a web-based app for use with tablets and smartphones allowing children to explore interesting numbers, patterns, sequences, and mathematics beyond their age (Hypernumeracy).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.8%
  • JavaScript 1.2%
  • Other 1.0%