Skip to content

samnmbuguah/ProSaleManager

Folders and files

NameName
Last commit message
Last commit date
Dec 30, 2024
Dec 30, 2024
Dec 15, 2024
Dec 30, 2024
Dec 26, 2024
Dec 14, 2024
Dec 26, 2024
Dec 14, 2024
Dec 15, 2024
Nov 26, 2024
Dec 29, 2024
Nov 26, 2024
Dec 11, 2024
Nov 26, 2024
Nov 26, 2024
Dec 26, 2024
Dec 26, 2024

Repository files navigation

ProSaleManager

A modern Point of Sale (POS) system built with React, Express, and PostgreSQL. ProSaleManager helps businesses manage their inventory, track sales, and handle product pricing with multiple unit types.

Features

  • πŸͺ Product Management

    • Multiple unit pricing (per piece, three piece, dozen)
    • Stock tracking
    • Category management
    • Supplier management
  • πŸ’° Sales Management

    • Purchase orders
    • Dynamic pricing based on unit types
    • Real-time stock updates
  • 🎨 Modern UI

    • Professional theme with light/dark mode support
    • Responsive design using Tailwind CSS
    • Beautiful component library with Radix UI
  • πŸ”’ Secure Authentication

    • Session-based authentication
    • Role-based access control
    • Secure password handling with bcrypt

Prerequisites

  • Node.js (v20 or higher)
  • PostgreSQL (v16)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/ProSaleManager.git
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables:
DATABASE_URL=postgresql://username:password@localhost:5432/prosalemanager
PORT=5000
  1. Initialize the database:
npm run db:generate   # Generate migrations
npm run db:migrate    # Run migrations
npm run seed          # (Optional) Seed demo data

Development

Start the development server:

npm run dev

This will start:

  • Frontend development server with Vite
  • Backend Express server with hot reload
  • TypeScript type checking

Building for Production

npm run build

This will:

  • Build the React frontend
  • Bundle the Express backend
  • Generate production assets

Deployment

The application includes a robust deployment pipeline with:

  • Pre-deployment database backups
  • Environment validation
  • Database migration checks
  • Progressive rollout support
  • Health checks and monitoring

Tech Stack

  • Frontend

    • React
    • TypeScript
    • Tailwind CSS
    • Radix UI Components
    • React Query
    • Zustand (State Management)
    • React Hook Form
    • React Router
  • Backend

    • Express.js
    • PostgreSQL
    • Drizzle ORM
    • Zod (Validation)
    • Passport.js (Authentication)

Project Structure

β”œβ”€β”€ client/              # Frontend React application
β”œβ”€β”€ server/              # Express backend
β”œβ”€β”€ db/                  # Database schema and migrations
β”œβ”€β”€ migrations/          # Generated database migrations
└── dist/                # Production build output

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.