KeshavSoft Price List Manager

Schema-Driven Stock & Price List Management System

Version 1.1.2

Overview

KeshavSoft Price List Manager is a web application built with Express.js and lowdb to manage Stock Items and Price Lists. The application is schema-driven, allowing forms, tables, validations, and UI components to be generated automatically from JSON schema files.

Key Features

JSON Database

Uses lowdb for lightweight JSON-based storage.

Schema Driven

Forms, validations, and tables come from schema files.

Auto UI Generation

Generate screens automatically from definitions.

No Database Server

No MySQL or PostgreSQL installation required.

Technologies Used

Express.js
lowdb
HTML
CSS
JavaScript
KSTable
KSHeader

Project Structure

File Purpose
app.js Starts the application and loads configuration
server.js Creates and runs HTTP server
routes.js Serves frontend files
port.js Handles port configuration
configLoader.js Loads configuration files
config.json Application configuration

Schema Configuration

Config/Schemas/StockItems.json

Defines StockItemName, StockItemReservedName, StockItemType, validation rules, and table settings.

API Endpoints

GET /Api/v1/StockItems/ShowAll

Returns all stock items.

POST /Api/v1/StockItems/Insert

Adds a new stock item.

Public Pages

URL Purpose
/ Home Page
/v1/ Read Only Stock Item List
/v2/ View and Add Stock Items

How To Run

1. Install Packages

npm install

2. Generate Database Files

node Scripts/generateDataFromSchemas.js

Creates

Data/StockItems.json

3. Start Server

npm start

Server URL

http://localhost:3001

Workflow

Schema Files
JSON Database
API Layer
Frontend Pages
Generated UI