https://github.com/yuis-ice/molecular
๐งฌ Interactive web application for visualizing and animating molecular structures. Built with React, TypeScript, and modern web technologies for chemistry education and research.
https://github.com/yuis-ice/molecular
animation chemistry education interactive molecular-structure molecular-visualization react science typescript web-app
Last synced: about 2 months ago
JSON representation
๐งฌ Interactive web application for visualizing and animating molecular structures. Built with React, TypeScript, and modern web technologies for chemistry education and research.
- Host: GitHub
- URL: https://github.com/yuis-ice/molecular
- Owner: yuis-ice
- License: mit
- Created: 2025-07-24T14:48:45.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-07-24T15:30:34.000Z (11 months ago)
- Last Synced: 2025-10-29T07:25:29.214Z (8 months ago)
- Topics: animation, chemistry, education, interactive, molecular-structure, molecular-visualization, react, science, typescript, web-app
- Language: TypeScript
- Homepage: http://molecular.pages.dev/
- Size: 372 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐งฌ Molecular Structure Animation
An interactive web application for visualizing and animating molecular structures, built with React, TypeScript, and modern web technologies.
[](http://molecular.pages.dev/)
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://reactjs.org/)
## ๐ธ Preview

*Interactive visualization of Rutin (C27H30O16) with animation controls and molecular information display*
## โจ Features
- ๐จ **Interactive Molecular Visualization**: Explore molecular structures with smooth, real-time animations
- ๐ **Dynamic Animation Controls**: Adjust rotation speed, direction, and animation parameters
- ๐ฑ **Responsive Design**: Works seamlessly on desktop, tablet, and mobile devices
- ๐ฏ **Educational Focus**: Perfect for students, educators, and chemistry enthusiasts
- ๐ **Screensaver Mode**: Beautiful molecular animations for ambient display
- โ๏ธ **Customizable Settings**: Personalize your viewing experience with various options
- ๐ญ **Multiple Molecules**: Pre-loaded library of common molecular structures
- ๐ฌ **Scientific Accuracy**: Accurate representation of molecular geometry and bonds
## ๐ Quick Start
### Prerequisites
- Node.js (v16.0.0 or higher)
- npm or yarn package manager
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/yuis-ice/molecular-structure-animation.git
cd molecular-structure-animation
```
2. **Install dependencies**
```bash
npm install
```
3. **Start the development server**
```bash
npm run dev
```
4. **Open your browser**
Navigate to `http://localhost:5173` to see the application running.
## ๐ ๏ธ Available Scripts
- `npm run dev` - Start the development server with hot reload
- `npm run build` - Build the project for production
- `npm run preview` - Preview the production build locally
- `npm run lint` - Run ESLint to check code quality
## ๐๏ธ Project Structure
```
src/
โโโ components/ # React components
โ โโโ MolecularDisplay.tsx # Main molecular visualization component
โ โโโ MolecularScreensaver.tsx # Screensaver mode component
โ โโโ SettingsPanel.tsx # Settings and controls panel
โโโ data/ # Static data and configurations
โ โโโ molecules.ts # Molecular structure definitions
โโโ hooks/ # Custom React hooks
โ โโโ useLocalStorage.ts # Local storage management hook
โโโ types/ # TypeScript type definitions
โ โโโ molecule.ts # Molecular structure types
โโโ App.tsx # Main application component
โโโ main.tsx # Application entry point
โโโ index.css # Global styles and Tailwind imports
```
## ๐งฌ Molecular Data Structure
The application uses a standardized format for molecular data:
```typescript
interface Molecule {
id: string;
name: string;
formula: string;
atoms: Atom[];
bonds: Bond[];
description?: string;
}
interface Atom {
id: string;
element: string;
position: [number, number, number];
color?: string;
}
interface Bond {
id: string;
atomIds: [string, string];
type: 'single' | 'double' | 'triple';
}
```
## ๐ฎ Usage
### Basic Navigation
- **Rotation**: Molecules automatically rotate for optimal viewing
- **Settings Panel**: Click the settings icon to access customization options
- **Screensaver Mode**: Enable for continuous ambient molecular animations
### Customization Options
- Adjust rotation speed and direction
- Toggle between different molecular structures
- Customize visual appearance and colors
- Enable/disable various display elements
## ๐ค Contributing
We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for details on how to get started.
### Quick Contributing Steps
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Commit your changes (`git commit -m 'Add some amazing feature'`)
5. Push to the branch (`git push origin feature/amazing-feature`)
6. Open a Pull Request
## ๐ Bug Reports & Feature Requests
- **Bug Reports**: Please use our [Bug Report Template](.github/ISSUE_TEMPLATE/bug_report.yml)
- **Feature Requests**: Please use our [Feature Request Template](.github/ISSUE_TEMPLATE/feature_request.yml)
- **General Discussion**: Visit our [GitHub Discussions](https://github.com/yuis-ice/molecular-structure-animation/discussions)
## ๐งช Technology Stack
- **Framework**: React 18.3+
- **Language**: TypeScript 5.5+
- **Build Tool**: Vite 5.4+
- **Styling**: Tailwind CSS 3.4+
- **Icons**: Lucide React
- **Linting**: ESLint with TypeScript support
## ๐ Educational Applications
This project is perfect for:
- **Chemistry Education**: Visualizing molecular structures and chemical bonds
- **Interactive Learning**: Hands-on exploration of molecular geometry
- **Presentations**: Engaging visual aids for chemistry lessons
- **Research**: Quick visualization of molecular compounds
- **Self-Study**: Independent learning and exploration
## ๐ Supported Molecules
The application includes pre-configured data for common molecules:
- Water (HโO)
- Carbon Dioxide (COโ)
- Methane (CHโ)
- Ammonia (NHโ)
- Benzene (CโHโ)
- Caffeine (CโHโโNโOโ)
- And many more...
## ๐ Deployment
The application is deployed and available at: [http://molecular.pages.dev/](http://molecular.pages.dev/)
### Building for Production
```bash
npm run build
```
The built files will be in the `dist/` directory, ready for deployment to any static hosting service.
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Thanks to the chemistry education community for inspiration
- Built with modern web technologies and best practices
- Designed for accessibility and cross-platform compatibility
## ๐ Support
If you encounter any issues or have questions:
1. Check the [existing issues](https://github.com/yuis-ice/molecular-structure-animation/issues)
2. Join our [discussions](https://github.com/yuis-ice/molecular-structure-animation/discussions)
3. Create a new issue using the appropriate template
---
**Made with โค๏ธ for the chemistry education community**
*Explore the fascinating world of molecular structures through interactive visualization!*