Search

Varastonhallintajärjestelmän kehittäminen

Arafat Adigun loi varastonhallintajärjestelmän Centrian digitiimille.
Koodirivejä näyttöruudulla.

Loppuraportti varastokirjanpito-ohjelman kehittämisestä

Arafat Adigun
Teksti käännetty englannista suomeksi tekoälyn avulla.

Projektini tavoitteena oli luoda varastonhallintajärjestelmä Centrian Digitiimille, jotta he voivat seurata tarvikkeitaan. Järjestelmän piti hoitaa erilaisia toimintoja, kuten seurata tuotevarastoa, niiden sijaintia (esim. toimisto, Vaste-kaappi), niiden alkuperää, niihin liittyviä projekteja ja muita olennaisia tietoja, kuten ostopäiviä, arvoa ja verotietoja. Ongelma, jonka pyrin ratkaisemaan, oli organisoidun järjestelmän puute näiden tarvikkeiden tehokkaaseen hallintaan ja valvontaan. Aluksi kehitin taustasovelluksen, joka pystyi hallitsemaan kaikkia tarvittavia tietoja Pythonin ja komentorivikäyttöliittymän (CLI) avulla. Tehtävä laajeni myöhemmin sisältämään käyttöliittymän kehittämisen, jotta järjestelmä olisi käytettävissä verkkoselaimen kautta, mikä tarjosi käyttäjille käyttäjäystävällisen käyttöliittymän vuorovaikutukseen järjestelmän kanssa.

Aloitin analysoimalla vaatimuksia ja tunnistamalla järjestelmän tukemat ydintoiminnot, kuten tuotteiden lisääminen, muokkaaminen ja poistaminen sekä tiettyjen tuotteiden lajittelu ja etsiminen. Alkuvaiheessa kehitin backendin Pythonilla ja loin kaksi päätiedostoa: cli.py ja product.py. product.py tiedosto määritteli Tuote-luokan, joka sisälsi kaikki tuotteeseen liittyvät attribuutit, ja cli.py tarjosi komentorivirajapinnan varastotietojen hallintaan. Tiedot sarjoitettiin Pythonin pickle-moduulilla jatkuvan tallennuksen mahdollistamiseksi.

Onnistuneen taustajärjestelmän käyttöönoton jälkeen siirryin kehittämään frontendiä käyttämällä Flaskia, kevyttä Python-verkkokehystä. Rakensin Flask-sovelluksen luomalla tarvittavat hakemistot ja tiedostot, mukaan lukien HTML-mallit ja CSS-tiedoston muotoilua varten. Integroin myös backend-logiikan Flask-reitteihin, jotta voin käsitellä erilaisia käyttäjän toimintoja, kuten tuotteiden lisäämistä tai katselua.

Projekti saatiin päätökseen kehittämällä täysin toimiva verkkosovellus, jonka avulla käyttäjät voivat olla vuorovaikutuksessa inventaariojärjestelmän kanssa selaimen kautta. Alun perin kehittämäni taustalogiikka integroitiin saumattomasti Flask-sovellukseen, mikä mahdollisti kaikki CLI-versiossa käytettävissä olevat ominaisuudet, kuten tuotehallinnan ja tietojen viennin Exceliin. Tuloksena oli käyttäjäystävällinen verkkokäyttöliittymä, joka tarjosi käyttäjille intuitiivisen tavan hallita varastotietoja ominaisuuksilla, kuten tietojen lajittelulla, haulla ja reaaliaikaisilla päivityksillä. Sovellus testattiin ja otettiin käyttöön paikallisesti, jolloin varmistettiin, että se täytti kaikki projektin alussa määritellyt vaatimukset.

Tämän projektin aikana sain laajan kokemuksen sekä backend- että frontend-kehityksestä. Taustalla syvensin ymmärrystäni Pythonista, datan sarjoittamisesta pickle-moduulilla ja olio-ohjelmointiperiaatteista. Siirtyessäni käyttöliittymään opin käyttämään Flaskia verkkosovellusten luomiseen ja sain käytännön kokemusta HTML:stä, CSS:stä ja JavaScriptistä käyttöliittymien suunnittelussa. Paransin myös taitojani ohjelmistojärjestelmän eri osien integroinnissa varmistaen, että backend- ja frontend-komponentit kommunikoivat tehokkaasti.

Ohjaajaltani saatu palaute oli positiivista, erityisesti CLI-pohjaisesta sovelluksesta verkkopohjaiseen sovellukseen siirtymisen osalta. Projekti ei ainoastaan parantanut teknisiä taitojani, vaan antoi minulle myös näkemyksiä käyttäjäkokemuksen (UX) suunnittelun merkityksestä ohjelmistokehityksessä.

fiFinnish