Skip to content

Car85/batstats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BatStats

Node.js Yarn TypeScript React Vite Plotly

Fast - Free - Deep

Fast-Free-Deep

BatStats is a free and open-source application with no login required. It allows for fast, detailed deep dives into your CSV and Excel data using multiple charts and generate a pdf file with your dashboard to save and share it. There are many solutions on the market for generating dashboards and performing data analysis, but not as many when it comes to free & open-source, no-logging solutions. We don’t want your data—the application is purely about functionality.

⚠️⚠️⚠️ Batstat is an application still under development and has not released any official version yet.⚠️⚠️⚠️

Generate data charts and dashboards interactively.

BatStats is a dynamic and user-friendly solution for analyzing and visualizing data. Using line charts, boxplots, barcharts and correlation matrix tables, you can create interactive charts effortlessly, identify insights, and download them for your storytelling needs.

The app leverages React with TypeScript and integrates the Plotly library for chart rendering.


🚀 Features

  • Dynamic Data Visualization: Generate linecharts, barcharts and correlation Matrix.
  • Customizable Box Plots: Analyze numerical data with the option to select categorical variables.
  • Drag-and-Drop CSV and Excel Upload: Easily upload any CSV and Excel files for analysis.
  • User-Friendly UI: Scroll-snapping navigation for seamless interaction between sections.
  • Landscape Dashboard: Download your landscape dashboard in a pdf file.

🖥️ Preliminary Demo (18/02/25)

batstasts_demo_18-02-25.mp4

🔧 Installation and Setup

  1. Clone the Repository

    git clone https://github.com/Car85/batstats.git
    cd batstats
  2. App Setup (React + Vite)

    • Install Node.js and npm/yarn.
    • Navigate to the frontend folder:
      cd frontend/bats-dashboar-tp/
      yarn install
      yarn run dev
  3. Access the Application The app will generate a random port, you will able to copy it from your terminal.


🚧 Roadmap

Create the icon for batstats

Preliminary version of the icon:

batstats

Testing 🚧

The initial unitary testing has been implemented. ⚠️ However, this is an ongoing process as new features and improvements are added. The testing suite will be continuously updated to ensure the application remains robust and reliable.


Implement correlation matrix.

Support additional xsls (Excel) file formats.

Build the dashboard to landscape

Create pdf file with the dashboard generated

Security:

🔒 Risk Mitigated BatStats 📜 OWASP/UI Security Standard
1. XSS (Cross-Site Scripting) ✅ Protected (sanitizeData() blocks <script>) ✅ OWASP A07:2021 – Identification & Authentication Failures
2. Clickjacking ✅ Protected (Content-Security-Policy: frame-ancestors 'none') ✅ OWASP Clickjacking Cheat Sheet
3. DoS with Large Files ✅ Protected (processedRows and maxFiles: 1) ✅ OWASP DoS Prevention Cheat Sheet
4. UI Freezing with Large Files ✅ Protected (worker: true in Papa.parse) ✅ Google UI Performance & Security Guidelines
5. Malformed Excel Files ✅ Protected (try/catch and validation) ✅ OWASP Secure UI Design Principles
6. Restricting Allowed File Types ✅ Protected (useDropzone accept) ✅ OWASP File Upload Security
7. Formula Injection in Excel ✅ Protected (sanitizeData()) ✅ OWASP Spreadsheet Injection Guide
8. Malicious URLs in CSV/XLSX ✅ Protected (sanitizeData() blocks URLs) ✅ OWASP Data Validation Cheat Sheet
9. JavaScript Execution in PDFs ✅ Protected (Local loading of jsPDF, addJS() disabled) ✅ OWASP Untrusted Code Execution

  • Deploy app in a web server.
  • Create desktop, browser and android app.

🤝 Contributing

Contributions are welcome! If you'd like to improve BatStats, follow these steps:

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

📜 License

This project is licensed under the GPL-3.0 License.


💡 Acknowledgments

About

Generate data charts, reports and dashboards

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published