Skip to content

Repository files navigation

Habicore POS System

A comprehensive web-based Point of Sale (POS) system built with modern technologies and modular architecture.

Architecture Overview

The system follows a modular component architecture where each feature functions as an independent module while seamlessly integrating into the complete ecosystem.

Technology Stack

Frontend:

  • React with TypeScript
  • Tailwind CSS for styling
  • shadcn/ui for UI components
  • Recharts for data visualization
  • React Query for state management
  • React Router for navigation

Backend:

  • Node.js with Express.js
  • PostgreSQL database
  • JWT authentication
  • RESTful API design
  • Docker containerization ready

Project Structure

habicore-pos/
├── frontend/          # React frontend application
├── backend/           # Node.js backend API
├── database/          # Database scripts and migrations
├── docs/             # Documentation
└── docker/           # Docker configuration files

Core Modules

  1. Point of Sale (POS) - Transaction processing and payment handling
  2. Inventory Management - Stock control and product catalog
  3. User & Role Management - Authentication and authorization
  4. Revenue/Sale Records - Transaction history and analysis
  5. Profit/Loss Records - Financial reporting and insights
  6. Manufacturing - Production management
  7. CRM - Customer relationship management
  8. Sales/Leads Integration - Third-party system integration

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL 14+
  • npm or yarn

Installation

  1. Clone the repository

  2. Install dependencies:

    # Frontend
    cd frontend
    npm install
    
    # Backend
    cd ../backend
    npm install
  3. Set up the database:

    cd database
    # Run migration scripts
  4. Configure environment variables:

    # Copy example env files and configure
    cp backend/.env.example backend/.env
    cp frontend/.env.example frontend/.env
  5. Start the development servers:

    # Backend (port 3001)
    cd backend
    npm run dev
    
    # Frontend (port 3000)
    cd frontend
    npm start

Deployment

Quick Deployment

Use the deployment scripts to prepare your application:

# Windows (PowerShell)
.\deploy.ps1

# Linux/Mac
./deploy.sh

Render.com Deployment

This application is optimized for deployment on Render.com with:

  • PostgreSQL Database (Free tier available)
  • Node.js Backend (Web Service)
  • React Frontend (Static Site)

See RENDER_DEPLOYMENT_GUIDE.md for detailed deployment instructions.

Environment Configuration

Create environment files:

Backend (.env):

DATABASE_URL=postgresql://user:pass@host:port/db
JWT_SECRET=your-secure-secret
NODE_ENV=production
CORS_ORIGIN=https://your-frontend-url.com

Frontend (.env.production):

VITE_API_URL=https://your-backend-url.com
NODE_ENV=production

One-Click Deployment

Use the included render.yaml file for automated deployment:

  1. Fork this repository
  2. Connect to Render.com
  3. Deploy all services at once

Production Features

  • Single-Tenant Architecture: Simplified deployment and management
  • Batch-Based Inventory: FIFO/LIFO/WAC costing methods
  • Manufacturing Management: BOM-based production
  • Real-time Notifications: Inventory alerts and system updates
  • Comprehensive Reporting: Sales, inventory, and financial reports

Development Principles

  • Modularity: Each module operates independently
  • Scalability: Microservices-ready architecture
  • Security: Robust authentication and authorization
  • Performance: Optimized for high-transaction environments
  • Integration: API-first design

License

Proprietary - Habicore POS System

About

A Point-Of-Sale system designed to scale with business operations

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages