Home
Softono
OpenBook

OpenBook

Open source MIT TypeScript
12
Stars
2
Forks
17
Issues
0
Watchers
3 weeks
Last Commit

About OpenBook

Open Book is a self-hosted, personal accounting and finance application designed for individuals and small businesses.

Platforms

Web Self-hosted

Languages

TypeScript

Links

Open Book is a self-hosted, personal accounting and finance application designed for individuals and small businesses. It provides invoicing, expenses, reporting, products, clients, and basic bookkeeping features with a privacy-first approach.

Table of Contents

Features

Open Book offers a comprehensive suite of tools for managing your finances:

  • Invoicing: Create and manage professional invoices with PDF generation capabilities.
  • Expense Tracking: Log manageable expenses and categorize them for better financial oversight.
  • Client Management: Maintain a database of client details and transaction history.
  • Product & Service Catalog: Manage your inventory of products and services.
  • Financial Reporting: Visualize your financial health with dashboards and reports.
  • Team Management: Invite team members and manage user roles and permissions.
  • Authentication: Secure user authentication and session management.

Built With

This project utilizes a modern technology stack to ensure performance, scalability, and developer experience:

Getting Started

Follow these instructions to set up the project locally on your machine.

Prerequisites

Ensure you have the following installed:

Installation

  1. Clone the repository

    git clone https://github.com/muhammad-fiaz/OpenBook.git
    cd OpenBook
  2. Install dependencies

    Using npm:

    npm install

    Or using Bun:

    bun install
  3. Configure Environment Variables

    Copy the example environment file to .env:

    cp .env-example .env

    Open .env and populate the necessary variables, particularly your database connection string and authentication secrets.

Database Setup

  1. Run Migrations

    Apply the Prisma migrations to your local database:

    npx prisma migrate dev
  2. Seed Database (Optional)

    If there are seed scripts available, run them to populate initial data:

    npx prisma db seed
  3. Start Development Server

    npm run dev
    # or
    bun run dev

    The application should now be running at http://localhost:3000.

Production

To build and run the application for production:

  1. Build the application

    npm run build
  2. Start the server

    npm start

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please refer to the CONTRIBUTING.md file for guidelines on how to submit improvements and bug fixes.

License

Distributed under the MIT License. See LICENSE for more information.