Skip to content

Under construction. An open-source inventory management system.

License

Notifications You must be signed in to change notification settings

invntio/easybooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

EasyBooks - An open-source inventory management system.

Invntio Docs GitHub issues Build Vulnerabilities Quality Gate Status codecov License: MIT Twitter


Note - Project renaming

<This project was renamed from "Invntio" to "Invntio EasyBooks". Thanks for choosing us!

Disclaimer - Project under construction

This project is currently under early stages of construction.

It is not recommended to use it yet due to possible:

  • bugs πŸ›
  • malfunctions β›”
  • missing features πŸ”
  • starting problems πŸ˜”
  • security flaws πŸ”“

Statuses

  • Backend: early develop stages. ⚠
  • Frontend: not started. β›”

What is Invntio?

EasyBooks is an open-source, module-based, inventory management solution designed to streamline your business operations. With its simple understanding and powerful features for tracking inventory, orders, and customers, EasyBooks empowers you to manage your business with ease.

From small businesses to large enterprises, EasyBooks scales to meet your needs, improving every day to help you overcome the challenges that your business faces.

With EasyBooks, you can focus on what you do best - growing your business πŸš€.

Technologies Used

EasyBooks is built using the following technologies:

Backend

NestJS

Database

Postgres Postgres

Containerization

Docker Kubernetes

CI/CD

GitHub Actions ArgoCD

Hosting

Netlify DigitalOcean

Documentation

Mintlify

Installation

To get started with EasyBooks, follow these steps:

Requirements

Before installing EasyBooks, make sure you have the following requirements:

Download

Clone the project repository to your local machine:

git clone https://github.com/invntio/EasyBooks.git

Setup

1. Install backend dependencies:

# move to backend directory
cd easybooks/backend
# Install dependencies
npm install

2. Configure database settings.

Note: EasyBooks currently supports the following databases:

  • PostgreSQL
  • SQLite

Make sure you use one of these in your configuration files

There are 4 configuration files you must configure in order to use EasyBooks properly

.env

NODE_ENV=dev # This can be prod, dev or test

.env.prod

PROD_DATABASE_TYPE=your_prod_database_type // This can be postgres or sqlite, for now
PROD_DATABASE_HOST=your_prod_database_host
PROD_DATABASE_PORT=your_prod_database_port
PROD_DATABASE_NAME=your_prod_database_name
PROD_DATABASE_USER=your_prod_database_user
PROD_DATABASE_PASSWORD=your_prod_database_password

.env.dev

DEV_DATABASE_TYPE=your_dev_database_type // This can be postgres or sqlite, for now
DEV_DATABASE_HOST=your_dev_database_host
DEV_DATABASE_PORT=your_dev_database_port
DEV_DATABASE_NAME=your_dev_database_name
DEV_DATABASE_USER=your_dev_database_user
DEV_DATABASE_PASSWORD=your_dev_database_password

.env.test

TEST_DATABASE_TYPE=your_test_database_type // This can be postgres or sqlite, for now
TEST_DATABASE_HOST=your_test_database_host
TEST_DATABASE_PORT=your_test_database_port
TEST_DATABASE_NAME=your_test_database_name
TEST_DATABASE_USER=your_test_database_user
TEST_DATABASE_PASSWORD=your_test_database_password

We are considering using YAML or another type of config file to use fewer files

For more information about database configuration, please refer to database documentation.

3. Start backend server:

# Start backend server in development mode
npm run start:dev

Usage

The backend exposes a RESTful API that allows users to perform actions like:

  • View existing products in the database
  • Add new products
  • Update existing product information
  • Delete products
  • Generate reports
  • Manage customers
  • Manage organization users

Once the system is up and running, users can consume the API to perfom these actions via http://localhost:3000/api.

For more information about features, please refer to the documentation.

Development and Contributing

Architecture

The backend is built with NestJS and uses a module-based architecture. Each module is responsible for a specific function, such as authentication, product management, order management, etc.

We are using a CLEAN Arquitecture approach, trying to achieve a reliable and scalable architecture

For more information about EasyBooks's architecture, please refer to arquitecture documentation

Coding style guide

The project follows the coding style guides recommended by NestJS and Angular. It is recommended that project contributors follow these guidelines to maintain code consistency and ease of maintenance.

For more information about coding style guides, please see the following:

Unit tests

The project includes a suite of unit tests that can be run using the npm run test command in the backend directory. It is recommended that contributors add additional tests as they add new features and make changes to existing code.

For more information about tests, please refer to tests documentation

Contributing

Contributor Covenant

We appreciate feedback and contribution to this project! Before you get started, please see the following:

Any contribution intentionally submitted for inclusion in the EasyBooks project, shall comply with the MIT License and therefore licensed as described below, without any additional terms or conditions:

License

Inventio is licensed under the MIT License. See LICENSE for more information.

Support

If you encounter any issues with Inventio or have any questions, please submit an issue or contact us at [email protected]

About

Under construction. An open-source inventory management system.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published