GithubHelp home page GithubHelp logo

alnvdl / oks Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 434 KB

A small ERP system tailor-made for a grinding wheel company.

License: Apache License 2.0

Python 99.93% CSS 0.07%
erp pygtk sqlite python gtk

oks's Introduction

Oks

Oks is a small ERP system tailor-made for a grinding wheel company in Brazil. It has been in use in production for more than 15 years.

It features:

  • Customer/supplier management
  • Inventory control
  • Order, sales and manufacturing management
  • Accounts payable/receivable
  • Several customizable reports

Oks

It was originally built using Python 2, PyGTK and SQLite, and has since been updated to Python 3 and the new GTK/GI bindings.

It was mostly developed in 2008, when I (Allan) was 18 years old, before I started attending university. It was my first real big project. I am proud of some parts of it, namely the database model, the abstractions I came up with and the relative tidiness of the code in certain parts.

I'm a little ashamed by the lack of proper testing (there are only some integration tests) and some really questionable decisions, like having a gigantic singleton for the GUI. But this thing still works after all these years and is still used everyday as of 2023 :)

The user interface only supports Portuguese (despite all of the code being in English).

The company for which Oks was developed allows the code to be published here under the Apache 2.0 license. The icons were made by Luiz Henrique Camargo.

Running on a desktop

On a vanilla Ubuntu 22.04 desktop, just cd into the root folder and run:

$ python3 oks.py

Running on a server

On a vanilla Ubuntu 22.04 minimal server or container, install the following packages first:

$ sudo apt-get install python3-gi python3-gi-cairo libgtk-3-0 \
    gir1.2-gtk-3.0 gir1.2-gtk-3.0 gir1.2-cairo gir1.2-gtk-3.0 \
    python3-cairo yaru-theme-icon evince

To avoid quirky behavior involving mnemonics in GTK 3.0 when using Broadway, make sure to disable them with:

mkdir -p ~/.config/gtk-3.0
cat <<EOF > ~/.config/gtk-3.0/settings.ini
[Settings]
gtk-enable-mnemonics = 0
EOF

Then start broadwayd:

$ broadwayd :5

And start Oks:

$ GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 python3 oks.py

It will be available at http://localhost:8085.

oks's People

Contributors

alnvdl avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

pycmanager

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.