Accaunt is a lightweight, modular, and extensible accounting core system designed as a foundational template for building custom accounting applications. With general accounting principles baked into the core, it provides an ideal starting point for developers to fork, customize, and extend the system to meet industry-specific use cases such as restaurant management, fish farming, retail accounting, and beyond.
-
Core Accounting Engine:
- A robust system supporting double-entry bookkeeping.
- Core features include:
- Chart of Accounts.
- Transaction management.
- General Ledger.
- Trial Balance.
- Basic financial reporting (e.g., Profit & Loss, Balance Sheet).
- Multi-tenant architecture for use in SaaS applications.
-
Extensible Design:
- Built-in module loader for adding new features or domain-specific functionality without modifying the core.
- Clean and well-documented APIs to integrate with other systems or services.
-
Fork & Extend:
- Open-source template designed for forking and adapting to specific requirements.
- Developers can clone the repository, build on the core, and add custom modules.
-
Ready-to-Use APIs:
- RESTful APIs for core accounting operations (CRUD for accounts, transactions, and reports).
- Modular API architecture for seamless integration.
-
Database Schema for General Accounting:
- PostgreSQL schema that supports general accounting use cases.
- Extendable structure for industry-specific need 7F9C s.
-
Developer-Friendly:
- TypeScript support for type safety.
- Pre-configured testing with Jest for unit and integration testing.
- Code structure follows industry best practices for scalability and maintainability.
- Save Development Time: Start with a fully functional core system instead of reinventing the wheel.
- Industry-Agnostic: Generic design allows it to adapt to any domain.
- Community-Driven: Extend and contribute to a growing open-source ecosystem.
-
Clone the Repository:
git clone https://github.com/dd3vahmad/accaunt.git cd accaunt
-
Set Up the Environment:
- Install dependencies:
npm install
- Create a
.env
file with the required environment variables:PORT=3000 DATABASE_URL=postgresql://user:password@localhost:5432/accaunt JWT_SECRET=your_secret_key
- Install dependencies:
-
Run the Application:
- Start the development server:
npm run dev
- Start the development server:
-
Customize and Extend:
- Add your custom modules to the
/modules
folder. - Extend the database schema as needed.
- Build new APIs to fit your use case.
- Add your custom modules to the
accaunt/
├── modules/ # Extendable modules (e.g., Restaurant, Fish Farm, etc.)
├── src/
│ ├── core/ # Core accounting logic
│ │ ├── accounts/ # Chart of accounts logic
│ │ ├── transactions/ # Transactions and journal entries
│ │ ├── reports/ # Financial reporting (trial balance, P&L, etc.)
│ │ ├── users/ # Authentication and roles
│ ├── config/ # Configuration files
│ ├── middleware/ # Authentication, validation, etc.
│ ├── routes/ # API endpoints
│ ├── services/ # Business logic
│ ├── utils/ # Helper functions
│ ├── app.ts # App entry point
│ └── server.ts # Server initialization
├── tests/ # Unit and integration tests
├── .env # Environment variables
├── package.json # Project metadata and dependencies
└── README.md # Project documentation
└── LICENSE # Project License
- Track orders, menu items, and inventory.
- Automatically generate accounting entries for sales and expenses.
- Monitor pond conditions, feed consumption, and species tracking.
- Integrate costs and revenue into financial reports.
- Manage products, stock levels, and sales.
- Integrate taxes, discounts, and promotions into accounting.
With accaunt, developers can rapidly build accounting apps for diverse domains by extending a reliable and feature-rich template!