π Open inventory management and Point of sales (powered by python) for small shops.
- π Crisp UI
- π Intuitive
- π Instant lookup
- βοΈ Towards customisation
alpha - highly volatile, core features not yet finished
π²πΊ π©πͺ π¨π³ π¬π§ πΈπ¬
- Confirmation before deleting section
- Settings fully operationable
- Apply settings works for existing and non-existing db
- Instantly checks duplicate
- Appointment section
This is my first time contributing to a public repo and I have quite enjoyed it. If you're a
first-time-contributor
the community is very helpful and can help you progress. Since I have been helping in this repo, I have also learnt a few things myself. The owner of the repo is active and is always willing to help.Also, if I'm around and you're stuck give us a shout. I'll help if I can.
@blips5
Months ago, I was searching github for a point of sales solution that used Python. What bothered me was that many of the applications I found were not ideal. Some required Posgres with the expectation that a user would already have this installed, others had codebases that were a mess of spaghetti code, yet others were django-based accounting monsters ...
I decided to try making my own solution, modeled after a client request, I had once recived. I Made it flask-based with SQLalchemy and SQLite. You can instantly get started with no hassle, switching to something more powerful when you want to (since it uses an ORM)
For the UI, we used the latest, bootstrap4, fa5 and jq3. Interestingly enough, I had two shop owners try it and they were very impressed with the ease of use.
It is still in devolopment and supports instant lookup. Long story short, with some programming skills, you can solve some everyday problems. And yes, no cdn, all libs are bundled so that you can use it completely offline
See this linked-in article!
If you want to contribute, go ahead, we β€οΈ it. We follow a π― % first-timers-friendly policy.
- Add your country flag in readme after accepted PR
- download python3.7
- clone and cd into project
- run
python -m pip install -r requirements.txt
Migrations If you change models or creating the database.
cd
into shopyo/shopyo
python manage.py db init # if db not present:
python manage.py db migrate
python manage.py db upgrade
cd
into shopyo/shopyo if not already.
initialise and setup.
python initialise.py
python apply_settings.py
run the app.
python run.py
go to the indicated url
Super User password
User ID: user
password: pass
Each landing page and subsection should contain the following headers.
{% extends "base/main_base.html" %}
// extends the base.html file.
{% set active_page = "sectionName" %}
// sets the active section (change section name).
Inside the template folder create a folder named as you want
/template
/base
/<changeme> (swap <changeme> for section name).
index.html
Inside the template folder create a new file under the folder named same as the section.
/template
/base
/section_name
index.html
anotherfile.html
Inside the template folder create a file named nav.html
.
/template
/base
/example_section_name
index.html
nav.html
In the nav.html
file elements for the navigation can be created.
Open the template /base
folder and locate the nav_base.html
.
In the nav_bar_log([])
array. Enter the section name last in the list.
{% set nav_bar_log = [
('section0'),
('section1'),
('new_section')
] %}
Now enter a new elif statement containing a reference to the _nav.html
{% if active_page == nav_bar_log[0] %}
{% include "section0/nav.html" %}
{% elif active_page == nav_bar_log[1] %}
{% include "section1/nav.html" %}
{% elif active_page == nav_bar_log[2] %} <- - - Add 1 to index.
{% include "new_section/nav.html" %}
Then the navagation elements will be displayed in the new section.