Skip to content

Car85/batstats

Repository files navigation

BatStats

batstats

Generate data charts and dashboards interactively.

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

The frontend leverages React with TypeScript and integrates the Plotly library for chart rendering, while the backend is powered by Java 23 and Spring Boot. Configurations and reports are stored in a lightweight SQLite database.


🚀 Features

  • Dynamic Data Visualization: Generate pivot tables and interactive charts.
  • Customizable Box Plots: Analyze numerical data with the option to select categorical variables.
  • Report Persistence: Save and reload charts and dashboards locally without user registration.
  • Drag-and-Drop CSV Upload: Easily upload any CSV file for analysis.
  • User-Friendly UI: Scroll-snapping navigation for seamless interaction between sections.

🛠️ Technologies Used

Frontend Backend Database
TypeScript Java SQLite
React Spring Boot
Plotly Spring

📊 How It Works

  1. Upload a CSV File
    Drag and drop your CSV dataset into the app.

  2. Visualize Data

    • Use Pivot Tables to generate charts and insights.
    • Explore Box Plots for statistical analysis (e.g., outliers, median, max, and min values).
    • Customize your analysis by selecting categorical and numeric variables.
  3. Save Reports
    Save your dashboards and charts locally without registration.

  4. Reload and Continue
    Reload your saved data configurations and resume where you left off.


🖥️ Preliminary Demo

batstats_new_performance.mp4

🔧 Installation and Setup

  1. Clone the Repository

    git clone https://github.com/yourusername/batstats.git
    cd batstats
  2. Backend Setup (Spring Boot)

    • Install Java 23 and Maven.
    • Navigate to the backend folder:
      cd backend
      mvn spring-boot:run
  3. Frontend Setup (React + Vite)

    • Install Node.js and npm/yarn.
    • Navigate to the frontend folder:
      cd frontend
      npm install
      npm run dev
  4. Access the Application


🚧 Roadmap

Incorporate LocalStorage with UUID for persistent dataset without user registration.

Video Demo:

batstats_persistant.mp4

Create the icon for batstats

Preliminary version of the icon:

batstats

Back and Front Testing 🚧

The initial unitary testing for both backend and frontend 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 more chart types (e.g., histograms, scatter plots).
  • Support additional file formats (e.g., Excel).
  • Add interactive filters for real-time data analysis.
  • Enable report sharing via unique links.
  • Generate a pdf dashboard with all the generated charts and relevant info

🤝 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