The Mini-Store-ERP is a comprehensive full-stack MERN (MongoDB, Express.js, React, Node.js) Enterprise Resource Planning system designed for small retail stores. It features modern inventory management, real-time sales tracking, AI-powered business insights via Groq LLM, and automated PDF invoice generation. Built with TypeScript for type safety, it offers a responsive dashboard with charts, secure JWT authentication with role-based access control, and natural language query processing.
🔗 Related Documentations: Client README | Server README
🔗 Live Project: https://mini-store-erp-app.onrender.com/
- 🔐 Authentication & Authorization: Secure JWT-based authentication with role-based access control (Admin/Cashier)
- 📦 Product Management: Complete CRUD operations, real-time stock tracking, reorder alerts, and vendor management
- 🛒 Purchase Management: Track supplier purchases with automatic stock updates and transaction history
- 💰 Sales & POS: Fast POS interface with automatic stock deduction, PDF invoices, and multiple payment methods
- 📊 Reports & Analytics: Real-time revenue tracking, COGS calculation, top products analysis, and visual charts
- 🤖 AI-Powered Insights: Natural language queries, automated business insights, and smart reorder suggestions via Groq LLM
- 📄 PDF Generation: Server-side invoice generation and client-side report export
- 🎨 Modern UI: Responsive TailwindCSS design with interactive dashboard and real-time data visualization
Below are some screenshots showcasing the Mini-Store-ERP interface:
Screenshots coming soon
Below is the project demo video of the Mini-Store-ERP interface:
Demo video coming soon
- Runtime: Node.js + TypeScript
- Framework: Express.js
- Database: MongoDB (Mongoose ODM)
- Authentication: JWT + bcrypt
- LLM Integration: Groq API (LLaMA models)
- PDF Generation: jsPDF
- Security: Helmet, CORS, Rate Limiting, express-validator
- Dev Tools: nodemon, ts-node
- Framework: React 18 + TypeScript
- Build Tool: Vite
- Routing: React Router v6
- State Management: Zustand
- UI Framework: TailwindCSS
- Charts: Recharts
- Icons: Lucide React
- HTTP Client: Axios
- PDF Export: jsPDF, jsPDF-AutoTable
- Notifications: React Hot Toast
mini-store-erp/
├── client/ # Frontend React application (see Client README)
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages/routes
│ │ ├── store/ # Zustand state management
│ │ ├── lib/ # API client and utilities
│ │ └── types/ # TypeScript type definitions
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
├── server/ # Backend Node.js/Express application (see Server README)
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/ # Route controllers
│ │ ├── middleware/ # Custom middleware
│ │ ├── models/ # Mongoose data models
│ │ ├── routes/ # API route definitions
│ │ ├── services/ # Business logic services
│ │ └── utils/ # Utility functions
│ └── package.json # Backend dependencies
├── diagram.txt # Database relationship diagram
├── LICENSE # MIT License file
└── README.md # Main project documentation
- Node.js (v18 or higher)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas)
- A Groq API Account (for AI features) - Get your free API key at Groq Console
- Postman or similar API testing tool (optional, for testing)
-
Clone the repository
git clone https://github.com/your-username/mini-store-erp.git cd mini-store-erp -
Set up the backend
- Follow the instructions in the Server README to configure and run the backend.
-
Set up the frontend
- Follow the instructions in the Client README to configure and run the frontend.
-
Access the Application
- Project Link: [https://mini-store-erp-app.onrender.com/]
For detailed instructions on connecting the frontend, backend, and MongoDB, refer to the Server README and Client README for specific configurations.
- MongoDB Connection: Configure
MONGODB_URIin server.envfile - API Communication: Set
VITE_API_URLin client.envfile - CORS Setup: Configure
CORS_ORIGINin server.envto match frontend URL - Groq API: Add
GROQ_API_KEYin server.envfor AI features
- Create a new Web Service on Render
- Connect your GitHub repository
- Configure build settings:
- Build Command:
cd server; npm install; tsc - Start Command:
cd server; npm start
- Build Command:
- Add environment variables from server
.envfile - Deploy and note the backend URL
- Create a new Static Site on Render
- Configure build settings:
- Build Command:
cd client; npm run build - Publish Directory:
client/dist
- Build Command:
- Add environment variable:
VITE_API_URL: Your deployed backend URL
- Deploy the frontend
For detailed deployment instructions, see:
- Frontend: Client README
- Backend: Server README
Pull requests are welcome! Feel free to fork the repository and suggest improvements.
Steps to contribute:
# 1. Fork the repository
# 2. Create a feature branch
git checkout -b feature-name
# 3. Commit your changes
git commit -m "Add feature description"
# 4. Push to GitHub
git push origin feature-name
# 5. Open a Pull RequestThis project is licensed under the MIT License - see the LICENSE file for details.
For queries or suggestions:
- 📩 Email: [email protected]
- 🌐 LinkedIn: www.linkedin.com/in/preveen-s
If you like this project, please consider giving it a ⭐ on GitHub!
Built with ❤️ using MERN Stack + AI