Skip to content

KagemaNjoroge/ultimate_pos

Repository files navigation

Ultimate Point of Sale (POS)

A modern POS/ERP/CRM system for businesses of the AI era. Powered by Django.

Demo

You can access the demo here. The credentials are:

  • username: demo
  • password: 12345678

Features

  • Dashboard Page with statistics and graphs
  • DataTables with print, copy, to CSV, and to PDF buttons
  • Categories and Products Management
  • Clients Management
  • Sales Management
  • eTIMS(electronic Tax Invoice Management System)

Proposed Features

  • Migrating views from templates to restful API

  • Business Level Inventory Management

  • Lipa-na-MPESA Gateway integration

  • KRA Tax Returns Auto-filing

  • Plugin system

  • AI Assistant

  • Suppliers Management

  • Purchase Management

  • CRM (Customer Relationship Management)

TODOS

  • Add feature to renew subscription
  • Add Lipa na Mpesa Support
  • Update the documentation to document management commands

Installation

  1. Clone or download the repository:
git clone https://github.com/kagemanjoroge/ultimate_pos.git
  1. Go to the project directory
cd ultimate_pos/django_pos
  1. Create a virtual environment :
python3 -m venv venv && source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Install GTK to create the PDF files:
    Official documentation

  2. Windows:
    After installing GTK, you need to add it to your system's Path environment variable. Follow these steps:

    • Assuming you installed GTK at: C:\Program Files\GTK3-Runtime Win64\bin
      This will be your new variable that you need to add to Path

    • Refer to this tutorial for detailed instructions on adding to the Path environment variable: Adding variable to path

    • If you encounter an error such as "cannot load library," refer to this documentation for troubleshooting: Missing Library Error

  3. Restart your computer: After completing the steps above, it is essential to restart your computer for the changes to take effect properly.

Run it locally

After restarting your computer

  1. Go to the project directory: cd ultimate_pos

  2. Activate the virtual enviroment

    source venv/bin/activate
  3. Go to the django_pos folder:

    cd ultimate_pos/django_pos
  4. Copy the .env.example file to .env: Replace the values with your own values

cp .env.example .env
  1. Create a Firebase collection and add the pricing data as you wish your pricing to be.
    Example: Example pricing configuration
  2. Make database migrations:
 python manage.py makemigrations && python manage.py migrate
  1. Create superuser to access the admin panel:

Important

You will need a super user account in order to access the admin page. You can create one by running the following command:

python manage.py createsuperuser

with the following data, or with the data you prefer:

  • username: YOUR_PREFERRED_USERNAME
  • password: YOUR_PASSWORD
  • email: YOUR_EMAIL@EMAIL.COM
  1. Run the server:

    python manage.py runserver
  2. Open a browser and navigate : http://127.0.0.1:8000/

  3. Log In with your superuser credentials.

Contributing

Contributions are always welcome!

  • Fork this repository;

  • Create a branch with your feature: git checkout -b my-feature;

  • Commit your changes: git commit -m "feat: my new feature";

  • Push to your branch: git push origin my-feature.

License

This project is under MIT License.

Brought to you by the good folks at TomorrowAI