Toon posts:

Opzet voorraadsysteem

Pagina: 1
Acties:

Vraag


  • Fietstasss
  • Registratie: Maart 2010
  • Laatst online: 04-03 09:32
Hallo Tweakers,

Ik ben me aan 't orienteren om een systeem te bouwen voor het registreren van een voorraad.
Deze voorraad omvat producten welke uiteraard weer (bijvoorbeeld) leveranciers, opslaglocaties, prijzen, afmetingen, etc. hebben.

Wat ik graag zou willen kunnen is het eenvoudig toevoegen en wijzigen van (o.a.) bovenstaande data middels een web-ui en wellicht later ook een mobile web-ui of app. Dit zou door meerdere gebruikers gebruikt moeten kunnen worden en zo 'universeel mogelijk' moeten kunnen draaien op verschillende devices, vandaar dat ik al snel neig naar een web-ui.

De resultaten van mijn zoektocht tot nog toe wijzen in de richting van een database zoals bijvoorbeeld MySQL met daarbij een frontend (correct my if i'm wrong in terminology) via bijvoorbeeld een php-web ui.

Uiteindelijk zijn er eigenlijk twee scenarios waarin ik dit ga gebruiken, enerzijds thuis in 't beunlab, om de vooraad electronica componenenten en andere hardware te registeren/monitoren. Anderzijds in een bedrijfje waarbij eigenlijk dezelfde opzet benodigd is.

Aangezien 't een heel leerproces zal worden richt ik me eerst op m'n thuissituatie, om zodoende de geleerde info later toe te kunnen passen als een '2.0' in de applicatie voor 't bedrijf.


Gezien ik nog niet helemaal thuis ben in 't opzetten van een dergelijk systeem zijn er natuurlijk veel vragen, laten we met de meest prangenden beginnen:

- Systeemkeuze:
Zoals genoemd, vooralsnog lijkt 't er voor me op dat een MySQL database met een php frontend de beste keuze is. Dit omdat er veel informatie over te vinden is, en 't toch alle mogelijkheden lijkt te bieden om 'custom tools/interfaces' te kunnen bouwen.
Ben dan ook heel benieuwd of er alternatieven - of hele andere denkwijzen - zijn welke ik zeker in overweging zou moeten nemen, kom maar op!

Voor de andere vragen, even er vanuitgaande dat het inderdaad een MySQL (of gelijkwaardige) database, met daarnaast een php-web-ui wordt;

Middels welke software kan ik op een betrouwbare/stabiele manier de database draaiende krijgen? En, welke software zou ideaal zijn om de webserver (lokaal) op te draaien?
Zou 't ook slim zijn om dit alles op een VM o.i.d. te draaien?
Deze basis is een beetje hetgeen wat me nog niet helemaal duidelijk is, terwijl 't me lastig lijkt hier later nog in te switchen..

Daarnaast, betreft 't inrichten van de databases, wat zijn absolute tips? Men wil natuurlijk de mogelijkheid behouden om bijvoorbeeld meerdere leveranciers aan 1 product te koppelen, wat zijn de tops/flops betreft deze indeling, meer architectonisch gezien dus..


Overigens, mochten er ideeen zijn om iets dergelijks over een hele andere boeg te gooien, ik sta voor alles open!

Al met al, heel veel vragen, vast en zeker ook nog heel veel onduidelijkheden, maar zou graag samen met jullie deze vragen vlot willen verbeteren/beter definieren.


Alvast bedankt voor alle input!

Alle reacties


  • 418O2
  • Registratie: November 2001
  • Laatst online: 13-09-2022
Wat is je kennis en achtergrond? Welke technieken wil je leren?

Ik heb jaren geleden professioneel aan zoiets gewerkt en dat wil je als 'groentje' zonder hulp echt niet.

  • Fietstasss
  • Registratie: Maart 2010
  • Laatst online: 04-03 09:32
Ben van origine geen software developer maar werktuigbouwkundige. Wel ben ik altijd bezig met 't bouwen van scriptjes, tooltjes en andere softwareoplossingen. Ook programmeren met microcontrollers e.d. is redelijk wekelijkse bezigheid. Veelal door fora als deze, Google, Youtube en vele uren ploeteren, hier al veel mee kunnen maken.

Als eerste hoop 'k te leren of m'n beoogde methode (MySQL en PHP) een correcte start/basis zou zijn voor een dergelijk systeem. If yes, dan lijken de uitdagingen (vanuit m'n huidige kennis en perspectief) vooral te zitten in 't correct opzetten van de basis (juiste tabellen-opbouw en linking), en daarnaast hoe deze goedwerkend weer te geven cq. te bewerken middels een -te bouwen- interface.

  • LAD93
  • Registratie: Maart 2016
  • Niet online
My two cents - ik zou inderdaad eerst beginnen met het opstellen van een datamodel voor je systeem. Je front-end applicatie kan nog zo mooi ziin (PHP of iets anders), zonder goed datamodel gaat het nooit lekker werken.

per aspera ad astra


  • SymbolicFrank
  • Registratie: November 2010
  • Laatst online: 14-07-2021
Je kunt ook Rapid Application Development gebruiken. Met bijvoorbeeld Lazarus klik je dat zo in elkaar, met een minimum aan programmeerwerk. C# is bijna net zo makkelijk, als je het simpel houd. Met PHP komt er wat meer bij kijken.

  • joostgvr
  • Registratie: Februari 2009
  • Laatst online: 16-03 16:32
Als je het niet zelf wil developen, er is een Open Source pakket dat draait op MySQL en PHP: Dolibarr.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 19-03 20:47
Fietstasss schreef op dinsdag 26 januari 2021 @ 17:06:
Ben dan ook heel benieuwd of er alternatieven - of hele andere denkwijzen - zijn welke ik zeker in overweging zou moeten nemen, kom maar op!
Ongeveer iedere programmeertaal en ongeveer iedere relationele database is daar prima voor geschikt. Als jij graag PHP + MySQL wil gaan gebruiken omdat jij daar veel info op kan vinden; lekker doen :)

FF een tip: veel tutorials houden geen rekening met SQL injection. Voor een eigen projectje dat niet aan het internent hangt niet zo'n enorm issue, maar voor een productiesysteem is het een goeie manier om alle data kwijt te raken, of erger. FF rekening mee houden dus, het is veruit de grootste pitfall for beginnende webdevs.

https://niels.nu


  • Mr. HTTP
  • Registratie: November 2020
  • Laatst online: 09-03-2022
Iets meer achtergrond van het daadwerkelijke probleem dat opgelost moet worden zal fijn zijn.

Want het komt op mij nu over dat je eigenlijk gewoon jezelf software ontwikkeling moet aanleren want wat je vraagt zijn nou juist de afwegingen die een software ontwikkelaar moet maken op basis van de business requirements en die krijgen hier nul aandacht...

toevoeging;
Tip. Pak een bestaand open source voorraadsysteem. Krijgt dat eerst aan de praat en doe daar je voorraadbeheer in. Maak een kopie van die omgeving om zelf ongestoord de code in te duiken en uit te vogelen hoe dingen onder de motorkap werken. Indien beschikbaar gebruik je de plugin functionaliteit van de software om zelf uitbreidingen te maken. Lijkt me veel waardevoller voor je dan je huidige plan.

[Voor 38% gewijzigd door Mr. HTTP op 26-01-2021 21:39]


  • Mr. HTTP
  • Registratie: November 2020
  • Laatst online: 09-03-2022
Hydra schreef op dinsdag 26 januari 2021 @ 17:43:
FF een tip: veel tutorials houden geen rekening met SQL injection. Voor een eigen projectje dat niet aan het internent hangt niet zo'n enorm issue
Als het niet aan het Internet hangt is het geen probleem?! |:(
Hedde gij wil goed geslapen vannacht of wa? ;)

In the greater scheme of things; filter input-escape output should be your mantra.

[Voor 18% gewijzigd door Mr. HTTP op 26-01-2021 21:33]


  • 80000
  • Registratie: Januari 2002
  • Laatst online: 23:56

80000

mrox

Voorraadsysteem, in de basis betekent: bijhouden van product verplaatsen van ene interne locatie (-1) naar andere interne locatie (+1).
Als je een multiuser/multisession hebt, ontkom je uiteindelijk niet aan atomic transacties, om b.v te voorkomen dat je ordering systeem een reservering tracht te plaatsen tijdens een product verplaatsing en in de soep loopt.
Vrijwel kiest men dan een database systeem dat acid compliant is.

Mysql heeft storage systemen die niet acid compliant zijn, al begreep ik dat sinds Oracle Mysql heeft overgenomen, de default storage systeem Innodb is geworden, welke wel acid compliant is.

Ik zou voor een nieuw systeem als (open source) database postgresql nemen. Afgezien van postgresql's reputatie en uitgebreide functionaliteit (o.a. acid), mocht je zover in bovenstaande situaties komen, postgresql geeft hele fijne controle over het lock mechanisme voor atomic transacties dat on par is met de grote commerciele databases zoals Oracle and MS SQL server.

Als bovenstaande je niks zegt, zou ik het advies van de medetweakers absoluut ter harte nemen en een opensource voorraadsysteem nemen als basis en verder bestuderen.

Alternatief opensource erp systeem is ODOO (welke op postgresql draait).
Ik heb ooit eens het voorraadsysteem en ordering systeem van ODOO bekeken en voor de gemiddelde webshop zag het er voldoende uit, maar belangrijker (want mijn mening zegt niks, heb geen webshop), ze hebben een groot aantal klanten live, zeg maar bewezen technologie.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 19-03 20:47
Mr. HTTP schreef op dinsdag 26 januari 2021 @ 21:17:
Als het niet aan het Internet hangt is het geen probleem?! |:(
Lekker even focussen op de helft van een zin om een punt te maken, als een echte tweaker. Goed bezig!

https://niels.nu


  • Mr. HTTP
  • Registratie: November 2020
  • Laatst online: 09-03-2022
Hydra schreef op woensdag 27 januari 2021 @ 10:15:
Lekker even focussen op de helft van een zin om een punt te maken, als een echte tweaker. Goed bezig!
Serieus ingaan op mijn gekscherende reactie op jou, als een echte medetweaker. Classic! Kusje! O+
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee