This project is a high-fidelity ERP and business intelligence dashboard for the ARS Group. It provides a centralized overview of distinct businesses (ARS Lube LTD BD, ARS Corporation, and ARS Gas), allowing for comprehensive monitoring of financial health, inventory, and operational metrics.
- Multi-Company Architecture: Seamlessly switch between different company dashboards.
- Authentication: Secure login and role-based access control.
- Dynamic Dashboard: Real-time overview of crucial KPIs, including profitability, liquidity, sales performance, and expenses.
- Full-Featured Modules:
- Accounting: Sundry Debtors, Creditors, and automated Journal Entries.
- Inventory: Detailed tracking, purchases, sales, and process loss.
- Financial Reports: Balance Sheet, Income Statement, Cash Flow, and Trial Balance.
- Fixed Assets: Complete asset register and tracking.
- Responsive Design: Modern, mobile-friendly interface built with Tailwind CSS.
- Framework: Next.js (with Pages Router)
- Styling: Tailwind CSS
- UI Components: Headless UI for accessible components (Modals, Dropdowns).
- Icons: Heroicons
- Charts: Chart.js with
react-chartjs-2. - Linting & Formatting: ESLint.
- Node.js (v24.x)
- npm or yarn
-
Clone the repository:
git clone <your-repository-url> cd ars-erp-dashboard
-
Install dependencies:
npm install
-
Configure environment variables: Create a
.env.localfile in the project root:cp .env.example .env.local
Then update values in
.env.local:DATABASE_URL="mysql://USER:PASSWORD@HOST:3306/ars_erp" JWT_SECRET="replace-with-a-long-random-secret"
-
Run database migrations and seed data (first time):
npx prisma migrate deploy npx prisma db seed
-
Run the development server:
npm run dev
-
Open the application: Open http://localhost:3000 with your browser to see the result.
- Email:
owner@arsgroup.com - Password:
admin123
Additional seeded accounts:
manager@arslube.com/admin123manager@arscorp.com/admin123cashier@arscorp.com/admin123
If the owner account is missing after a database reset, recreate it with:
npm run db:create-owner -- --password=YourStrongPasswordOptional flags:
--email=owner@arsgroup.com--name=ARS Group Owner
This project was bootstrapped with create-next-app.