Skip to content

CoderYUI/FOSSEE-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chemical Equipment Visualizer

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.

🚀 Features

  • 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.

🛠️ Tech Stack

  • 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

💻 Local Setup Instructions

Follow these steps to set up the project locally on your machine.

Prerequisites

1. Clone the Repository

git clone https://github.com/CoderYUI/FOSSEE-2026.git

2. Backend Setup (Django)

The backend handles the API, database, and authentication.

  1. Create a Virtual Environment:

    python -m venv venv
    
    # Windows
    venv\Scripts\activate
    
    # Mac/Linux
    source venv/bin/activate
  2. Install Dependencies:

    pip install -r backend/requirements.txt
  3. Run Migrations:

    cd backend
    python manage.py migrate
  4. Create Superuser (Optional):

    python manage.py createsuperuser
    # Follow prompts to set username and password
  5. Run Server:

    python manage.py runserver
    # Server runs at http://localhost:8000

3. Frontend Setup (Web App)

The web interface allows users to upload and visualize data from a browser.

  1. Navigate to directory: Open a new terminal.

    cd frontend-web
  2. Install Dependencies:

    npm install
  3. Run Development Server:

    npm run dev
    # App runs at http://localhost:5173

4. Desktop App Setup (PyQt5)

The desktop app provides a native experience using the same backend API.

  1. Dependencies: Ensure your virtual environment is active (venv). The requirements were installed in the Backend step.

    • Note: If you have issues, ensure PyQt5 and requests are installed.
  2. Run Application: From the root directory (ChemicalEquipmentVisualizer):

    python frontend-desktop/main.py

📖 Usage Guide

  1. Register/Login: Create an account via the Web or Desktop app.
  2. Upload Data: Use the designated "Upload" tab to upload a CSV file.
    • Sample Data: A sample_equipment_data.csv is likely provided or can be generated with columns: Equipment Name, Type, Flowrate, Pressure, Temperature.
  3. Dashboard: View the calculated averages and the Equipment Distribution chart.
  4. History: View past uploads. Click on an item to load its Dashboard summary.
  5. PDF Report: Click "Download Report" (Web or Desktop) to get a comprehensive PDF summary of your data.

📦 Deployment & Distribution

  • Web: The Frontend is optimized for Vercel, and the Backend for Render.com.
  • Desktop: Can be packaged into a single .exe file using PyInstaller.

Developed for FOSSEE 2026

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors