The Chemical Equipment Parameter Visualizer is a hybrid application that provides both web and desktop interfaces for analyzing and visualizing chemical equipment data. Users can upload CSV files and view summary statistics, charts, historical datasets, and optionally generate PDF reports.
The system includes:
- Django REST API backend
- React.js web frontend
- PyQt5 desktop application
backend/
βββ api/ # Django app for API endpoints
β βββ admin.py
β βββ models.py
β βββ serializers.py
β βββ views.py
β βββ migrations/
βββ backend/
β βββ settings.py
β βββ deployment_settings.py # For deployment
β βββ urls.py
β βββ wsgi.py # WSGI configuration for production
βββ csv_files/ # Directory for uploaded CSV files
βββ db.sqlite3 # SQLite database file
βββ Dockerfile # Container configuration for backend
βββ manage.py
βββ requirements.txt # Python dependencies list
frontend/
βββ src/ # Source code directory
β βββ api.tsx # API service functions
β βββ App.tsx # Main React application component
β βββ components/ # Reusable React components
β β βββ Charts.tsx
β β βββ ExportPdf.tsx
β β βββ navbar.tsx
β β βββ ProtectedRoute.tsx # Route protection for authentication
β βββ pages/ # Page components
β β βββ dashboard.tsx
β β βββ home.tsx
β β βββ login.tsx
β β βββ register.tsx
β βββ store/ # State management
β β βββ authSlice.ts # Authentication state slice
β β βββ store.ts
β βββ types/
β βββ index.ts # Main type definitions
βββ package.json
βββ Dockerfile
βββ nginx.config # Nginx web server configuration
desktop/
βββ main.py # Main PyQt5 application entry point
βββ requirements.txt # Python dependencies for desktop app
This section describes how to run the complete application stack using Docker Compose on your local device.
- Docker
- Docker Compose
- Git
git clone https://github.com/HarK-github/Chemical-Equipment-Parameter-Visualizer.git
cd Chemical-Equipment-Parameter-VisualizerFrom the project root:
docker compose up --buildOnce all containers are running:
-
Backend API (direct):
http://127.0.0.1:8000/ -
Frontend:
http://localhost:5173/
Note : It might take time for containers to spin up.
Access the dev server at:
http://localhost:5173/
To run the dekstop application simply type in the root directory:
bash dekstop_script.shThis will create a virtual environment,spin up the docker ocntainer, run the dekstop app.
---
This section explains how to run the backend, web frontend, and desktop application directly on your local machine without using docker container
cd backendpython -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windowspip install -r requirements.txtpython manage.py migratepython manage.py runserverThe backend will be available at:
http://127.0.0.1:8000/
cd ./frontendnpm installVITE_API_URL=http://127.0.0.1:8000/npm run devFrontend available at:
http://localhost:5731/
cd ./desktoppython -m venv venv
source venv/bin/activatepip install -r requirements.txtpython main.pyGo to root directory of the project,create and activate a virtual environment
python -m venv venv
source venv/bin/activate- CSV upload
- Summary statistics generation
- Visualization (Chart.js for web, Matplotlib for desktop)
- Storage of last five uploaded datasets
- PDF report generation
- Basic user authentication
chemical-equipment-visualizer/
β
ββ backend/ # Django backend
ββ frontend/ # React.js frontend
ββ desktop/ # PyQt5 desktop app
ββ nginx/ # Nginx config
ββ docker-compose.yml
This project is licensed under the MIT License. Developed by Harshit Kandpal

