Skip to content

Latest commit

 

History

History
69 lines (35 loc) · 4.32 KB

README.md

File metadata and controls

69 lines (35 loc) · 4.32 KB

Virtual-FTIR-Spectrometer

The Raston Lab's Fourier Transform InfraRed - Scientific Instrument Simulator (FTIR-SIS) was designed to emulate a student's classroom experience with an FTIR spectrometer. The web application focuses on both spectra generation and a simplified top-down view of the components that make up the spectrometer.

This project uses React for the frontend and Flask for the backend. The backend is located in a separate repository.

Installation

Information on how to run the front-end can be found in the repository's wiki page.

Usage

The intended audience for this application is undergraduate chemistry students studying spectroscopy. The following screenshots are not exhaustive but acknowledge most of the main features:

  • Experimental Setup (spectrometer parameters)

experimental-setup

  • Instrument Window (top-down view of simplified spectrometer)

instrument-window

  • Spectra Window (plotted spectra)

spectra-window

Additional Information

Additional information regarding the FTIR-SIS can be found in the repository's wiki page. This information includes Redix Toolkit, SVG diagrams, SVG optimization, SVG interactivity, and SVG animation.

Contributing

Upkeep of this project is intended for recruited undergraduate students, but pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

See LICENSE

Relevant third-party tools and resources we depend on:

  • GitHub Pages Deploy Action: GitHub Action used to automate deployment of web applications to GitHub Pages (Licensed MIT)

  • MUI: React user interface component library (Licensed MIT)

  • Plotly.js: JavaScript data visualization library (Licensed MIT)

  • Radis: Spectra generation (Licensed LGPL-3.0)

  • React: JavaScript library for building user interfaces (Licensed MIT)

  • React CSV: React components to build CSV files on the fly (Licensed MIT)

  • React Router: Declarative routing for React (Licensed MIT)

  • React to Print: React components for printing in the browser (Licensed MIT)

  • Redux Toolkit: Library for updating and managing application state (Licensed MIT)

  • SVGO: Node.js tool for optimizing SVG files (Licensed MIT)

  • SVGOMG: Web GUI for SVGO (Licensed MIT)

  • SVGR: Tool for transforming SVGs into React components (Licensed MIT)

Inspiration from:

  • Make a README: Inspiration for README.md template (Licensed MIT)

  • Radis app: Inspiration for user interface components like the dual slider for the wavenumber range (Licensed LGPL-3.0)