A modern full-stack business management platform for small businesses and shopkeepers to manage customers, transactions, GST invoices, and business analytics from a single dashboard.
- Overview
- Features
- Tech Stack
- Deployment Architecture
- Project Structure
- Environment Variables
- Installation
- API Endpoints
- Future Improvements
- License
Steel Ledger is a complete business management application built using the MERN ecosystem (with PostgreSQL). It helps shopkeepers and small business owners efficiently manage daily operations, customer records, GST-compliant invoices, financial transactions, and analytics through an intuitive web interface.
The application is designed with scalability, security, and ease of use in mind.
- Add, edit, delete customers
- Customer spending history
- Customer search
- Customer profile management
- Credit & Debit tracking
- Category-wise organization
- Monthly reports
- CSV Export
- Transaction history
- Professional invoice creation
- Automatic GST calculation
- Discount handling
- Printable invoices
- Invoice history
- Revenue charts
- Expense tracking
- Credit vs Debit visualization
- Business insights
- Monthly summaries
- JWT Authentication
- Password Hashing (bcrypt)
- Protected Routes
- Rate Limiting
- Helmet Security Middleware
- React 18
- Tailwind CSS
- Material UI
- Chart.js
- Formik
- Yup
- Node.js
- Express.js
- PostgreSQL
- Neon Database
- JWT
- bcryptjs
- Helmet
- Express Rate Limit
- Vercel
- Render
- Neon
Steel-Ledger
β
βββ client/
β βββ public/
β βββ src/
β βββ package.json
β
βββ server/
β βββ controllers/
β βββ routes/
β βββ middleware/
β βββ models/
β βββ config/
β βββ package.json
β
βββ README.md
βββ LICENSE
PORT=5000
NODE_ENV=production
DATABASE_URL=postgres://<user>:<password>@<hostname>/<database>?sslmode=require
JWT_SECRET=your_secret_key
JWT_EXPIRY=24h
CLIENT_URL=https://your-vercel-app.vercel.appREACT_APP_API_URL=https://your-render-api.onrender.com/apigit clone https://github.com/Priyanshu20511/Steel-Ledger.git
cd Steel-Ledgercd server
npm install
npm run db:setup
npm run devcd client
npm install
npm startThe frontend will start at
http://localhost:3000
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/store/register |
Register Store |
| POST | /api/store/login |
Login |
| GET | /api/store/profile |
Store Profile |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/transactions |
Get Transactions |
| POST | /api/transactions |
Add Transaction |
| GET | /api/transactions/summary |
Dashboard Summary |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/invoices |
Get Invoices |
| POST | /api/invoices |
Create Invoice |
| GET | /api/invoices/:id |
Invoice Details |
Add screenshots of:
- Login Page
- Dashboard
- Customer Management
- Transaction Page
- Invoice Generator
- Analytics Dashboard
Example:
- Email Invoice Support
- PDF Invoice Export
- Multi-user Support
- Inventory Management
- Mobile Responsive Dashboard
- Role-Based Access Control
- Dark Mode
- PWA Support
- Notification System
Contributions are welcome!
-
Fork the repository
-
Create a feature branch
git checkout -b feature-name- Commit changes
git commit -m "Add new feature"- Push
git push origin feature-name- Open a Pull Request
If you found this project useful, consider giving it a β on GitHub.
It helps others discover the project and motivates further development.