π Data-Driven Retail Intelligence Platform
A full-stack web application designed to manage retail operations efficiently - leveraging MongoDB, REST APIs, and interactive dashboards to transform raw sales data into actionable business insights.
π Live Application
The Retail Store Sales Management System is a comprehensive full-stack application that enables efficient management of retail operations including:
- π Product (Book) management
- π₯ Customer tracking
- π§Ύ Order processing
- π Sales analytics dashboard
This project demonstrates how raw data can be transformed into meaningful insights through:
- MongoDB data modeling
- Data cleaning and transformation
- Backend API development
- Frontend visualization and interaction
-
Efficient Data Management Store and manage retail data using MongoDB collections.
-
Full CRUD Functionality Enable creation, retrieval, updating, and deletion of records.
-
Real-Time Analytics Provide insights into store performance through dashboards.
-
System Integration Connect frontend UI with backend API and MongoDB database.
-
User-Friendly Interface Build a clean and intuitive UI for seamless interaction.
- View all products in a clean card layout
- Search by title, author, category, or publisher
- Add new products
- Edit existing products
- Delete products
- Store customer details
- Add and view customers
- Track customer interactions
- Create and manage orders
- Track purchases and transaction history
- Link orders to customers and products
- Total products, customers, and orders
- Buyable vs non-buyable products
- Average price and page count
- Category and language distribution
- Sales insights through charts
Frontend (React + Vite + UI Components)
β
REST API (Express.js)
β
MongoDB Atlas Database
- Node.js
- Express.js
- MongoDB Atlas
- Mongoose
- dotenv
- CORS
- React (Vite)
- TypeScript
- Tailwind CSS / ShadCN UI
- Chart.js
- MongoDB (NoSQL Document Database)
bookstorems-main/
β
βββ server/ # Backend
β βββ index.js
β βββ package.json
β βββ .env
β
βββ bookstorems-main/ # Frontend
β βββ src/
β β βββ pages/
β β βββ components/
β β βββ data/
β β βββ types.ts
β β
β βββ package.json
β βββ vite.config.ts
β
βββ README.md
{
"title": "Book Title",
"authors": ["Author 1"],
"publisher": "Publisher",
"categories": "Category",
"list_price": 12.99,
"buyable": true
}{
"customer_id": "C001",
"name": "John Doe",
"email": "john@email.com",
"city": "Nairobi"
}{
"order_id": "O001",
"customer_id": "C001",
"items": [
{ "book_id": "123", "quantity": 2, "price": 10 }
],
"total_amount": 20
}The dashboard provides real-time business intelligence:
- π Total products, customers, and orders
- π° Average product pricing
- π¦ Product availability status
- π·οΈ Category distribution
- π Language distribution
- π Sales patterns and trends
git clone https://github.com/your-username/retail-store-sales-management-system.git
cd retail-store-sales-management-systemcd server
npm installCreate .env file:
PORT=5000
MONGO_URI=your_mongodb_connection_stringRun backend:
npm startcd bookstorems-main
npm install
npm run devFrontend runs on:
http://localhost:5173
GET /api/books
POST /api/books
PUT /api/books/:id
DELETE /api/books/:idGET /api/customers
POST /api/customersGET /api/orders
POST /api/ordersData preparation included:
- Converting authors from string β array
- Handling missing/null values
- Standardizing numeric fields
- Structuring documents for MongoDB
- Creating clean working dataset (
books_clean)
- NoSQL database design using MongoDB
- Backend API development with Express
- Frontend-backend integration
- Data cleaning and transformation
- Dashboard development and analytics
- Managing multiple collections
- π User authentication (Admin roles)
- π³ Payment integration
- π¦ Inventory tracking
- π Advanced analytics (sales forecasting)
- βοΈ Deployment (Render / Vercel)
- π Export reports (CSV / PDF)
This project is for academic and educational purposes.
