A comprehensive full-stack application for visualizing chemical equipment parameters (Flowrate, Pressure, Temperature) from CSV data. The project consists of a Django Backend, a React Web Frontend, and a PyQt5 Desktop Application.
- Hybrid Access: Access via Web Browser or Native Desktop Application.
- Data Visualization: Interactive charts for Equipment Type distribution and key metrics.
- CSV Parsing: robust uploading and parsing of equipment data CSVs.
- Report Generation: Auto-generate high-quality PDF reports with embedded charts.
- Authentication: Secure User Registration and Login (Token-based).
- History & Management: Track upload history, view summaries, and delete records.
- Production Ready: Configured for deployment (Render + Vercel) and Windows Executable generation.
- Backend: Django, Django REST Framework, SQLite (Local) / PostgreSQL (Prod), Pandas, ReportLab
- Frontend (Web): React.js, Vite, Chart.js, Axios, TailwindCSS (optional/if used)
- Frontend (Desktop): Python, PyQt5, Matplotlib
- DevOps: WhiteNoise, Gunicorn, PyInstaller
Follow these steps to set up the project locally on your machine.
git clone https://github.com/CoderYUI/FOSSEE-2026.gitThe backend handles the API, database, and authentication.
-
Create a Virtual Environment:
python -m venv venv # Windows venv\Scripts\activate # Mac/Linux source venv/bin/activate
-
Install Dependencies:
pip install -r backend/requirements.txt
-
Run Migrations:
cd backend python manage.py migrate -
Create Superuser (Optional):
python manage.py createsuperuser # Follow prompts to set username and password -
Run Server:
python manage.py runserver # Server runs at http://localhost:8000
The web interface allows users to upload and visualize data from a browser.
-
Navigate to directory: Open a new terminal.
cd frontend-web -
Install Dependencies:
npm install
-
Run Development Server:
npm run dev # App runs at http://localhost:5173
The desktop app provides a native experience using the same backend API.
-
Dependencies: Ensure your virtual environment is active (
venv). The requirements were installed in the Backend step.- Note: If you have issues, ensure
PyQt5andrequestsare installed.
- Note: If you have issues, ensure
-
Run Application: From the root directory (
ChemicalEquipmentVisualizer):python frontend-desktop/main.py
- Register/Login: Create an account via the Web or Desktop app.
- Upload Data: Use the designated "Upload" tab to upload a CSV file.
- Sample Data: A
sample_equipment_data.csvis likely provided or can be generated with columns:Equipment Name, Type, Flowrate, Pressure, Temperature.
- Sample Data: A
- Dashboard: View the calculated averages and the Equipment Distribution chart.
- History: View past uploads. Click on an item to load its Dashboard summary.
- PDF Report: Click "Download Report" (Web or Desktop) to get a comprehensive PDF summary of your data.
- Web: The Frontend is optimized for Vercel, and the Backend for Render.com.
- Desktop: Can be packaged into a single
.exefile using PyInstaller.
Developed for FOSSEE 2026