- Notifications
You must be signed in to change notification settings - Fork0
An interactive data visualization dashboard built with the MERN stack. It enables users to explore and analyze large datasets through dynamic, responsive charts and advanced filters, offering real-time data insights tailored to user needs. Key features include robust filtering options, real-time updates for the latest information, and secure access
checodezz/DataViz
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An interactive dashboard built with the MERN stack, enabling users to explore and analyze large datasets through dynamic charts and advanced filtering options. This project aims to provide insights into data trends, feature usage, and user engagement.
- Dynamic Charts: Visualize data trends using bar and line charts.
- Advanced Filtering: Filter data by date range, age, and gender for tailored insights.
- User Authentication: Secure access with user authentication and session management.
- URL Sharing: Share specific filtered views via unique URLs after authentication.
- Responsive Design: Optimized for various screen sizes for seamless user experience.
- Real-time Updates: Fetch data dynamically to ensure the latest information is displayed.
- Frontend: React, Redux Toolkit, Bootstrap
- Backend: Node.js, Express
- Database: MongoDB
- Charting Library: Chart.js
- Data Integration: Google Sheets API for ETL
- Deployment: Vercel
This project uses anETL (Extract, Transform, Load) process to fetch and store data from a Google Sheet, allowing up-to-date information for analytics. The process involves:
- Extract: Accessing data from a Google Sheet using Google’s Sheets API and Service Account for authentication. Credentials are securely stored in environment variables.
- Transform: Cleaning and formatting the extracted data for consistency and usability, transforming fields such as "Day," "Age," and "Gender" into usable formats.
- Load: Saving the transformed data into a MongoDB database for efficient access, where it is continuously updated by clearing old entries and inserting new data.
Clone the repository:
git clone https://github.com/yourusername/data-visualization-dashboard.gitcd data-visualization-dashboard
Install dependencies for both frontend and backend:
# Frontendcd clientnpm install# Backendcd servernpm install
Configure environment variables in
.env
for theserver
:- MongoDB URI
- Google Sheets API credentials (
client_email
andprivate_key
)
Start the development servers:
# Start the backend servercd servernpm start# Start the frontend servercd clientnpm start
- Open your browser and navigate to
http://localhost:5173
to access the dashboard. - Use the filters to customize your data view.
- Click on any feature in the bar chart to display its timeline in the line chart below.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
- Thanks to the open-source community for their contributions and resources.
- Special thanks toChart.js for their excellent charting library.
- Thanks to Google Sheets API for providing easy-to-integrate data access.
About
An interactive data visualization dashboard built with the MERN stack. It enables users to explore and analyze large datasets through dynamic, responsive charts and advanced filters, offering real-time data insights tailored to user needs. Key features include robust filtering options, real-time updates for the latest information, and secure access
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.