Skip to content

Zhilips/Zperiod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ Zperiod

An Interactive Periodic Table for Chemistry Students

Made with JavaScript CSS3 HTML5

Master Chemistry. Visually & Instantly.


✨ Features

πŸ”¬ Interactive Periodic Table

  • 118 Elements with detailed information
  • Click any element to view comprehensive data
  • Smooth 3D atom visualization with electron shells
  • Category-based color coding (Alkali Metal, Noble Gas, etc.)

⚑ Ion Engine

  • Monatomic & Polyatomic Ions database
  • Custom animations for each ion's properties
  • Visual hints for flame tests, solubility, and more
  • Real-time charge calculations

πŸ› οΈ Chemistry Tools

Tool Description Grade Level
Equation Balancer Balance chemical equations with step-by-step solutions 9-12
Molar Mass Calculator Calculate molar mass with element breakdown 10-11
Empirical & Molecular Formula Derive formulas from mass data 10-11
Solubility Table Quick reference for ionic compounds 9-12

πŸ†• Recent Updates (April 2026)

  • Mobile-first landing refreshed with softer background motion text stream.
  • Mobile landing no longer triggers desktop onboarding/welcome flow.
  • Element modal export/download button was removed.
  • Custom mobile assets were organized into the images/ folder:
    • images/mobile-bg-1.png
    • images/mobile-atom-2.png

πŸ“ Worksheet Generator

  • Generate balanced equation practice problems
  • Multiple reaction types (Synthesis, Decomposition, Combustion, etc.)
  • Adjustable difficulty levels
  • Print-ready PDF export

⌨️ Keyboard Navigation

  • Arrow Keys (← β†’) - Navigate between info slides
  • Space Bar - Next slide
  • Fully accessible modal navigation

πŸš€ Quick Start

Local Development

# Clone the repository
git clone https://github.com/YOUR_USERNAME/zperiod.git

# Navigate to project directory
cd zperiod

# Install dependencies
npm install

# Start dev server (with hot reload)
npm run dev

Quality Checks

# Lint + syntax check + production build
npm run check

Production Build

# Build static files to dist/
npm run build

# Preview production build locally
npm run preview

πŸ“ Project Structure

zperiod/
β”œβ”€β”€ .github/workflows/ci.yml # CI pipeline
β”œβ”€β”€ package.json            # Vite scripts and dependencies
β”œβ”€β”€ index.html              # Main HTML file
β”œβ”€β”€ script.js               # Main JavaScript logic
β”œβ”€β”€ three.min.js            # Legacy local Three.js copy
β”œβ”€β”€ logo.svg                # Project logo
β”œβ”€β”€ public/                 # Static files copied directly by Vite
β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ base.css            # Design tokens, layout, navigation
β”‚   β”œβ”€β”€ grid.css            # Periodic table grid
β”‚   β”œβ”€β”€ modal.css           # Element detail modals
β”‚   β”œβ”€β”€ tools.css           # Chemistry tools styles
β”‚   β”œβ”€β”€ ions.css            # Ion engine styles
β”‚   β”œβ”€β”€ ion-animations.css  # Ion-specific animations
β”‚   β”œβ”€β”€ mobile-landing.css  # Mobile landing page
β”‚   └── worksheet-styles.css
β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ ion-animations.js   # Ion animation logic
β”‚   β”œβ”€β”€ worksheet-generator.js
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ elementsData.js # Element database
β”‚   β”‚   └── ionsData.js     # Ion database
β”‚   └── modules/
β”‚       β”œβ”€β”€ chemistryTools.js
β”‚       β”œβ”€β”€ ionsController.js
β”‚       β”œβ”€β”€ threeRenderer.js
β”‚       └── uiController.js
β”œβ”€β”€ images/                 # Preview screenshots
└── README.md

🎨 Design Philosophy

Zperiod follows modern design principles:

  • Minimal & Clean - Inspired by Apple's design language
  • Glassmorphism - Subtle frosted glass effects
  • Responsive - Works on all screen sizes
  • Dark/Light Friendly - Neutral color palette
  • Micro-animations - Smooth, delightful interactions

πŸŽ“ Target Audience

  • Grade 9-12 Chemistry Students
  • AP Chemistry / IB Chemistry
  • Teachers looking for classroom tools
  • Anyone interested in chemistry visualization

πŸ“Έ Screenshots

Click to expand screenshots

Periodic Table View

The main interactive periodic table with category legends

Periodic Table

Element Detail Modal

Comprehensive element information with 3D atom model

Element Modal

Mobile Welcome Stream Style

Subtle multilingual background stream style used on the mobile-first landing experience

Mobile Welcome Stream

Mobile Atom Card Visual

Custom Atom Models card visual used in the mobile landing feature preview

Mobile Atom Card

Equation Balancer

Balance chemical equations with real-time scale visualization

Equation Balancer

Worksheet Generator

Generate print-ready balanced equation worksheets

Worksheet Generator


πŸ›‘οΈ License

Β© 2026 Philip. All rights reserved.

This project is created for educational purposes. Unauthorized copying, modification, or redistribution without explicit permission is prohibited.


πŸ™ Acknowledgments

  • Three.js - 3D graphics library
  • Google Fonts (Inter) - Typography
  • The Chemistry Community - For inspiration

Built with ❀️ and lots of β˜•

Stop memorizing β€” start visualizing.

Buy Me A Coffee

About

Interactive Periodic table with 3D atoms

Resources

Stars

Watchers

Forks

Packages