ArthaVidhi is a modern, full-stack web application designed to simplify billing, inventory, and business management for small to medium-sized enterprises. Built with Next.js and a powerful backend, it provides an intuitive, tab-based interface for managing key business operations efficiently.
- Dashboard: At-a-glance overview of key business metrics like total revenue, bills paid, and recent transactions.
- Sales Management: Create, view, print, and manage professional, VAT-compliant invoices with custom discounts.
- Quotation Management: Easily generate and manage client quotations before converting them to bills.
- Product & Inventory: Add products with images, categorize them, and track stock levels.
- Purchase Management: Record purchases from suppliers, which automatically updates inventory counts.
- Expense Tracking: Log and categorize all business expenses to maintain accurate financial records.
- Employee Attendance: A simple system to manage daily employee clock-in and clock-out times.
- Advanced Reporting: Generate and download detailed PDF reports for Sales, Purchases, Expenses, and Profit & Loss for any date range.
- Secure Authentication: Robust user registration and login system.
- Multi-Tab Interface: A dynamic, multi-tab dashboard that allows you to keep multiple pages (e.g., "Create Bill", "Find Bill") open simultaneously for a seamless workflow.
- Customization: Configure company details (name, address, PAN/VAT) that automatically appear on all documents.
- Frontend:
- Next.js (with App Router)
- React
- TypeScript
- Tailwind CSS
- ShadCN UI (for beautiful, accessible components)
- Backend:
- Database:
- PDF Generation:
- AI (Optional/Future):
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
-
Clone the repository:
git clone https://github.com/your-username/arthavidhi.git cd arthavidhi -
Install dependencies:
npm install # or # yarn install
-
Set up environment variables: Create a new file named
.envin the root of your project by copying the example file:cp .env.example .env
Now, open the
.envfile and add your MySQL database connection string:DATABASE_URL="mysql://USER:PASSWORD@HOST:PORT/DATABASE"Replace
USER,PASSWORD,HOST,PORT, andDATABASEwith your actual database credentials. -
Set up the database schema: Connect to your MySQL database and run the SQL commands located in the
database.sqlfile (or individual table creation scripts if provided) to set up the required tables. -
Run the development server:
npm run dev
The application should now be running at http://localhost:3000.
npm run dev: Starts the development server.npm run build: Creates a production-ready build of the application.npm run start: Starts the production server.npm run lint: Lints the code for errors and style issues.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request