A practice dashboard application built to demonstrate MongoDB query handling, backend logic, and frontend integration using Vanilla JavaScript. This project is designed purely for learning and showcasing full-stack development skills with real-world-like data.
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Backend: Node.js, Express.js
- Database: MongoDB
- Tools & Libraries: Mongoose for MongoDB interactions, Postman for API testing
This dashboard simulates a business management system using dummy data. It allows practice of:
- Fetching, grouping, and aggregating data using MongoDB queries.
- Implementing CRUD operations via backend API endpoints.
- Displaying dynamic data on the frontend using Vanilla JS.
- Creating analytics dashboards including revenue, sales, stock, and customer insights.
All data is dummy, so itβs safe for experimenting and learning database queries and API integration.
- Dynamic Record Counts: Total customers, products, and orders displayed.
- Revenue Analytics: Total revenue, average order value, category-wise revenue, and city-wise sales.
- Sales Insights: Daily, monthly, and yearly sales aggregation.
- Top Selling Products: Products ranked by quantity sold.
- Customer Insights: Identify customers who spend the most.
- Order Status Overview: Count of orders by status (Pending, Shipped, Delivered).
- Low Stock Report: Products with stock below a threshold for inventory monitoring.
- Frontend Integration: Data fetched from backend APIs and displayed dynamically using Vanilla JS.
This project demonstrates the ability to:
- Design and implement a full-stack application.
- Handle complex MongoDB queries including aggregation, grouping, and lookups.
- Integrate backend APIs with a Vanilla JS frontend.
- Build recruiter-friendly dashboards highlighting analytics and data management skills.
Developed by Asim Mir
GitHub: asim249
Note: This project uses dummy data for learning purposes. Itβs ideal for showcasing MongoDB query expertise, Node.js API development, and frontend data visualization skills.
