Skip to content

MISTOM/JimdaksOs

Repository files navigation

JimdaksOs

JimdaksOs is a modern Point of Sale (POS) and inventory management system designed for efficiency and reliability. It features a unified product model for handling both physical inventory and services.

Tech Stack

Architecture Highlights

  • Unified Product Model: A single Product table handles both physical goods (e.g., "Coca Cola") and services (e.g., "Printing").
  • Stock Logging: Every stock change is tracked in a StockLog to ensure auditability of sales, restocks, and shrinkage.
  • Currency: Monetary values (sellingPrice, costPrice) are stored as Float for simplicity and direct mathematical operations (e.g., 100.50).
  • Prisma Client: The Prisma client is generated into src/lib/server/prisma to ensure it is server-side only and easily globally accessible.

Getting Started

Prerequisites

  • Node.js (v20+ recommended)
  • Docker & Docker Compose

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd jimdaksos
  2. Install dependencies:

    npm install
  3. Duplicate .env.example to .env (create if missing) and set your database URL:

    DATABASE_URL="postgresql://user:password@localhost:5432/jimdaks_os?schema=public"

Database Setup

  1. Start the database:

    docker-compose up -d
  2. Apply migrations:

    npx prisma migrate dev

    Note: This will also generate the Prisma Client.

  3. Seed the database:

    npx prisma db seed

Development

Start the development server:

npm run dev

Project Structure

  • src/lib/server/generated/client: Location of the generated Prisma Client.
  • src/lib/server/database.ts: Singleton instance of Prisma Client.
  • prisma/schema.prisma: Database schema definition.

About

Jimdaks pos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors