Coder Social home page Coder Social logo

epse / eppos Goto Github PK

View Code? Open in Web Editor NEW
103.0 16.0 56.0 2.3 MB

Simple Django-based POS system

Home Page: https://epse.github.io/EpPos

License: Apache License 2.0

Python 8.57% HTML 6.58% CSS 40.39% JavaScript 44.26% Dockerfile 0.05% Shell 0.11% Makefile 0.05%
pos django python food food-trucks drinks hacktoberfest

eppos's People

Contributors

epse avatar manuelfedele avatar roenw avatar spaetz avatar zerocoolhacker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eppos's Issues

Stock warnings

Show warnings when stock drops under a specified amount

Increase API surface

This should allow new front-ends to be developed (as well as possible native clients).

What we currently miss:

  • Authentication via API
  • A JSON addition

And way of using the current API's (like reset_order) that return the entire page, without getting the entire page.

Make it work! [Clear Order Button]

By adding
Order_Item.objects.filter(order=current_order).delete()
in pos/views.py, after line 181, in reset_order() method, Clear Order button works for real, deleting Item_Order objects of associated Order object.

ValueError: too many values to unpack (expected 2) on reset_order() [line 181, pos/views.py]

helper.setup_handling(request) returns 3 value tuple.
This raises the ValueError exception (python3.6.4) on line 181 of pos/views.py.
Just by adding an underscore for currency unpacking (there's no need to save currency value in reset order) the bug is fixed.
from
cash, current_order = helper.setup_handling(request)
to
cash, current_order, _ = helper.setup_handling(request)

reset cash button

make it only visible for admins, and allow users to enter a custom amount of change left in the register

Codes and barcodes

Add a new code' field. This field can be used for short mnemonic codes or barcodes. You will be able to add products to a running tab by code`. E.g. by scanning a barcode.

Settings

System settings with everything that I doubt about configurable

Cant install

Doing all the setup and when running make setup getting this error.

failed to load cache key: invalid empty config file resolved for docker.io/tutum/nginx@sha256:69a727916ab40de88f66407fb0115e35b759d7c6088852d901208479bec47429

Help Appreciated.

Feature Request: Ability to generate invoices retrospectively

This would allow details of an order to be amended should an error occur. And then a new invoice generated.

As part of this, it would be useful to be able to auto-generate all invoices at the end of the business day for book-keeping.

Potentially, a well formatted text file is simpler than difficult to parse pdf?

Time of sale becomes important feature to catch, because it cannot be assumed that the time of invoice equals time of sale.

docker-compose up -d --build is failing

I've Installed docker and docker-compose, downloaded EpPos and navigated into the directory. Now when I run docker-compose up -d --build, it fails giving the following messages and errors:

Building web
Step 1/3 : FROM python:3.5-onbuild

Executing 3 build triggers...

Step 1/1 : COPY requirements.txt /usr/src/app/
---> Using cache
Step 1/1 : RUN pip install --no-cache-dir -r requirements.txt
---> Using cache
Step 1/1 : COPY . /usr/src/app
---> Using cache
---> 2f0952866368
Step 2/3 : WORKDIR /usr/src/app
---> Using cache
---> 6887784cd6b3
Step 3/3 : RUN python manage.py migrate
---> Running in 2b5f4d83629e
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
self.connect()
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 189, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 198, in get_new_connection
conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.5/site-packages/django/core/management/init.py", line 363, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.5/site-packages/django/core/management/init.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 83, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/usr/local/lib/python3.5/site-packages/django/db/migrations/executor.py", line 20, in init
self.loader = MigrationLoader(self.connection)
File "/usr/local/lib/python3.5/site-packages/django/db/migrations/loader.py", line 52, in init
self.build_graph()
File "/usr/local/lib/python3.5/site-packages/django/db/migrations/loader.py", line 209, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "/usr/local/lib/python3.5/site-packages/django/db/migrations/recorder.py", line 65, in applied_migrations
self.ensure_schema()
File "/usr/local/lib/python3.5/site-packages/django/db/migrations/recorder.py", line 52, in ensure_schema
if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 254, in cursor
return self._cursor()
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 229, in _cursor
self.ensure_connection()
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
self.connect()
File "/usr/local/lib/python3.5/site-packages/django/db/utils.py", line 94, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
self.connect()
File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 189, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 198, in get_new_connection
conn = Database.connect(**conn_params)
django.db.utils.OperationalError: unable to open database file
ERROR: Service 'web' failed to build: The command '/bin/sh -c python manage.py migrate' returned a non-zero code: 1
screenshot from 2018-10-09 19 55 10
screenshot from 2018-10-09 19 54 08

Docker

Docker makes it a lot easier to deploy EpPos.

Payment system buildout

The Pay button should show a dialog box with payment methods.

Right now I'm not planning on getting any online payment going, but if a client pays by card in-store, that amount should not get added to the Cash amount, for example.

With our current food-truck-like focus, I think adding Card and Cash payments as options should be enough.

docker-compose run web ./manage.py createsuperuser "No such file or directory"

Hello

docker-compose up seems to have worked fine. There was no db folder in web folder so I added one before running docker-compose up.

docker-compose run is yielding the following :
/usr/bin/env: ‘python3\r’: No such file or directory

which I understand is probably super simple to solve, but I am noob and stumped looking through stackExchange etc...

tia

NameError name 'productInDatabase' is not defined

Hello, just trying out EpPos (great name :-)). I get an error when adding cash. It seems the master branch has a typo. Pull request coming up.

/pos/addition/cashpayment

NameError name 'productInDatabase' is not defined
./pos/views.py in addition, line 53

Requirement File

I immediately download it but I do not know which version of django you use and what libraries you install. It is good when you create the requirements.txt file to make it easier for others to use your application. Thanks

Cash tracking

System for counting the amount of cash in the register with logging.
Additional permission to view log

Refactor of Orders

Orders will be changed to stay in the database forever as a means of being able to look at previous orders. They will get fleshed out more and instead of having a JSON array of product titles and ID's, prices will be added as well.

I can't just make the order store a list with product ID's and quantitiies since an archived order may be made with different product pricing that the current.

Having an issue where from my mobile phone, order invoice is being generated with no products

Only on my phone, which is an Android running Chrome.

Potentially something in the javascript is not compatible? I need help knowing how to give back the relevant debug information.

I have an instance running live at the moment, I can give credentials out if you want them. My twitter handle is the same as my github, so if you want, you can DM me and I will provide credentials.

Colours for products

Products in a POS system are often colour-coded.
We want to add a colour property to the Product model, a dropdown to select a colour in the admin, order the products in the Order screen by colour and show the colours.

Cannot jump into shell

Cannot jump into "./manage.py shell".
It simply returns "No module named admin_views".
Did I miss something?

Fix default route

Just make the / route redirect to /pos. Right now, getting back from the admin page is a nightmare.

Allow deleting a specific item in the ranking

If I add

Burger
Coke
Burger

and I want to delete the last Burger because some guest canceled the order, I would like to be able to have the item disappear where I clicked the "X". Right now we search for the product name and delete a random one.

Add more to the README.md (don't mean to be rude)

Saw this project posted to /r/coolgithubprojects. Currently your README is very lacking, which will make people just ignore your project.

some things I suggest to add to the README are

  • depends.
  • one or more screenshot(s) of the software running.
  • list of author(s).
  • what license it's under.
  • what the software does (for people who might not be familiar w/ POS).

not trying to be annoying, just don't want your effort to go to waste!

Stock on order clearing

When clearing an order, all items in an order's stock should be added back. Right now this can make stock disappear.

Also, make a unit test for this.

Sales Dashboard in admin

There should be a dashboard in admin where you can see your sales in different periods of time and in different categories shown in some graph or table.

Bundle jquery et al.

RIght now, we dynamically load all javascript and bootstrap, which is fine for testing, but it would be better to locally bundle and send it. If there is no network connection (or it is slow) our POS would not work anymore (besides privacy issues).

Printing Page for additions

  • Make a page for displaying additions that can be printed
  • Add an option to display and print the addition after payment
  • Add an option in the admin panel for every addition to display / print it

Cash Object & Order

Great Work!

Cash Objects :
It's great you are able to capture the total value of the products paid for.
However I advice that you will need to be able to view Transactions, This would include the timestamp and items sold, total cost.

Order :

The current order shows the Product Name only, will be great to include the product Price, just so the customer knows what they paid for.
This would link with the new Transactions class, where you are able in future to link to a printer for receipt.

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.