Digitálna databáza exemplárov v entomoligickej zbierke. Systém je implementovaný ako webová aplikácia, prístupná on-line. Systém slúži na vytváranie, kategorizovanie a vyhľadávanie záznamov. Zároveň umožnuje generovanie QR štítkov, správu zapožcaných exemplárov a základný štatistický prehľad o zbierke formou jednoduche dahsboard. Správa aplikácie je umožnená iba autorizovaným používateľom, možnosť prezerania a vyhľadávania je pre všetkých návštevníkov. Súčasťou je jednoduchý import/export mechanizmus.
Back-end je implementovaný ako Django aplikácia pre Python 3.6 a na front-end je pre zjednodušenie použitá knižnica Bootstrap. Ako databázový systém je použitý PostgreSQL server verzie 10.
Všeky issues (feature, bug, docs a enchasment) sú spravované cez príslušné GitHub nástroje:
Celá špecifikácia a dokumentácia k projektu sa nachádza v GitHub Wiki.
V projekte používame codestyle poďla PEP8 a na správu codebase aplikujeme techniku git-flow:
master
vetva obsahuje vždy stabilnú verziu zdrojového kódudevelop
vetva obsahuje zmeny implementované v rámci daného behu/milestonufeature/*
vetvy obsahuju implementácie konkrétnych issues/features
Po dokončení konkrétnej issue vytváram Pull Request do develop
vetvy a pri každom uzavretom milestone
robím merge to master
vetvy.
Minimálne požiadavky:
- Python 3.7
- Pipenv
- PostgreSQL
- NodeJS & yarn (pre úspešný build front-end časti)
Na správu závislostí používame pipenv, ktorý inštaláciu značne zjednodušuje:
Nižšie napísaný príklad inštalácie pomocou Git-u stiahne codebase projektu a spustí nad ním príklad pipenv install
,
ktorý vytvorí virtualenv prostredie, do ktorého nainštaluje všetky projektové dependencies.
git clone https://github.com/Sibyx/mdns.git MdnsWeb
cd MdnsWeb
pipenv install
- Django: Back-end framework
- Bootstrap: Front-end framework
- python-dotenv: Konfigurácia
- django-role-permissions: RBAC
- python-qrcode: QR code generator
- bootstrap-table: Bootstrap native datatables
- libgravatar: Gravatar client
- select2: Pekné select elementy na steroidoch
S ❤️ Jakub Dubec (c) 2020