Skip to content

alanmaizon/focus

Repository files navigation

Focus

Focus is a web-based application that visualizes elements in 3D, providing an interactive way to learn and explore different elements. Built with Flask for backend and modern web technologies like JavaScript, HTML, and CSS for frontend.

Table of Contents

Installation

Prerequisites

  • Python 3.6 or higher
  • Pip (Python package installer)
  • Node.js and npm (for JavaScript dependencies, if needed)

Steps

  1. Clone the repository:

    git clone https://github.com/alanmaizon/focus.git
    cd focus
  2. Create a virtual environment and activate it:

    python3 -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install required Python packages:

    pip install -r requirements.txt
  4. Run the Flask app:

    flask run
  5. Open your web browser and go to http://127.0.0.1:5000.

Usage

  1. Enter the symbol of an element in the input field provided.
  2. The element's properties and a 3D visualization will appear.
  3. Explore the 3D visualization using mouse controls to rotate, zoom, and pan.

Project Structure

Focus/
├── app.py                   # Main Flask application
├── elements.py              # Module containing elements data
├── static/
│   ├── css/
│   │   └── style.css         # Stylesheet for the app
│   ├── js/
│   │   └── script.js         # JavaScript for frontend interactivity
├── templates/
│   └── index.html            # Main HTML template
└── README.md                 # Project documentation

Features

  • 3D visualization of elements.
  • Interactive UI to explore elements' properties.
  • Lightweight and easy to use.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add your feature').
  5. Push to the branch (git push origin feature/your-feature).
  6. Open a Pull Request.

Testing and Debugging

Please refer to the Testing and Debugging Report for details.

License

This project is licensed under the MIT License.