Skip to content

Under construction. An open-source inventory management system.

License

Notifications You must be signed in to change notification settings

Sabarno-15102002/invntio

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

Logo

Invntio - An open-source inventory management system.

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


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?

Invntio 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, Invntio empowers you to manage your business with ease.

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

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

Technologies Used

Invntio 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 Invntio, follow these steps:

Requirements

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

Download

Clone the project repository to your local machine:

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

Setup

1. Install backend dependencies:

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

2. Configure database settings.

Note: Invntio 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 Invntio properly

.env

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

.env.prod

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_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_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 Invntio'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 Invntio 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.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.0%
  • JavaScript 1.0%