Ohjelmistoratkaisu painonhallintaan ja ravinnon hallitsemiseen
Pelimanni, Ville; Träff, Terho; Loponen, Onni (2025)
Pelimanni, Ville
Träff, Terho
Loponen, Onni
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202504045723
https://urn.fi/URN:NBN:fi:amk-202504045723
Tiivistelmä
Tämän opinnäytetyön aiheena oli painonhallinnassa ja ravinnon hallitsemisessa tukemiseen soveltuva ohjelmistoratkaisu mobiilisovelluksen, verkkosivujen, sekä niitä tukevan palvelinohjelmiston muodossa. Työn tavoite oli käydä läpi kokonaisvaltaisesti työn eri osa-alueet, käytetyt teknologiat, suunnittelu ja toteutus. Nämä pitävät sisällään ohjelmiston palvelinpuolen, käyttöliittymän suunnittelun ja toteutuksen, sekä automatisoidun integraation ja toimituksen.
Ohjelmisto toteutettiin MERN-teknologiapinolla. Käyttöliittymän ohjelmointiin käytettiin React Nativea ja sen Expo-raamitusta. Taustajärjestelminä käytettiin MongoDB:tä tietokantana ja ohjelmointirajapinta luotiin Node.js:ää ja Express.js:ää käyttäen. Ohjelmiston kehityksessä käytettiin myös Expon muita kehitystyökaluja CICD-ratkaisun toteuttamisessa ja automaatiossa. Ohjelmointirajapinnan ja tietokannan mukana käytettiin myös Cloudflare R2 –pilvitallennuspalvelua kuvien jakamiseen.
Työn toimeksiantajana toimi majoitus- ja ravintolaliiketoiminta-alalla restonomiksi opiskeleva ja yksityisenä ravitsemusterapeuttina toimiva henkilö, joka oli havainnut, että hänen toimintaansa avustava ohjelmisto helpottaisi asiakaskokemuksessa, sekä mahdollistaisi hänen kerätä tietoa asiakkaiden syönti- ja ulkoilutavoista, jotta voisi paremmin vastata heidän tarpeisiinsa.
Opinnäytetyö on jaoteltu kolmeen päälukuun, jotka kukin koostuvat yhden kehitysvaiheen, tai -segmentin teoriataustoituksesta ja toteutuksesta. Pääluvut on jaoteltu tekijöiden vastuualueiden mukaan, jotka erosivat työn aikana toisistaan tarpeeksi merkittävällä tavalla, että moinen erottelu oli käytännöllisin tapa käsitellä kaikki osa-alueet selkeällä tavalla. The subject of this thesis was to develop a software solution for weight and food management in the form of a mobile application and a website, and the backend services supporting both. The aim of this document is to go through the different segments, technologies, design, theory and execution involved in the project.
The software solution was made using the MERN software stack. React Native and its Expo framework was used to create the frontend. In the backend MongoDB was used as a database and the application programming interface was created with Node.js and Express.js. Additionally, Expo’s various CICD tooling was used for implementing and automating CICD functionality. Cloudflare R2 was used in conjunction with the application programming interface and database for image serving purposes.
The client for the project was an individual studying to become a Bachelor of Hospitality Management and enterprising as a nutritional therapist, who had noted benefits for such application in his clientele.
The thesis is split into three main segments, each containing facets of the development process, background theory and execution of a specific field of focus in the project. Each main part comprises of the field of responsibility of one of the three developers, and due to the areas of responsibility being so different from each other, it was deemed appropriate to separate them thusly.
Ohjelmisto toteutettiin MERN-teknologiapinolla. Käyttöliittymän ohjelmointiin käytettiin React Nativea ja sen Expo-raamitusta. Taustajärjestelminä käytettiin MongoDB:tä tietokantana ja ohjelmointirajapinta luotiin Node.js:ää ja Express.js:ää käyttäen. Ohjelmiston kehityksessä käytettiin myös Expon muita kehitystyökaluja CICD-ratkaisun toteuttamisessa ja automaatiossa. Ohjelmointirajapinnan ja tietokannan mukana käytettiin myös Cloudflare R2 –pilvitallennuspalvelua kuvien jakamiseen.
Työn toimeksiantajana toimi majoitus- ja ravintolaliiketoiminta-alalla restonomiksi opiskeleva ja yksityisenä ravitsemusterapeuttina toimiva henkilö, joka oli havainnut, että hänen toimintaansa avustava ohjelmisto helpottaisi asiakaskokemuksessa, sekä mahdollistaisi hänen kerätä tietoa asiakkaiden syönti- ja ulkoilutavoista, jotta voisi paremmin vastata heidän tarpeisiinsa.
Opinnäytetyö on jaoteltu kolmeen päälukuun, jotka kukin koostuvat yhden kehitysvaiheen, tai -segmentin teoriataustoituksesta ja toteutuksesta. Pääluvut on jaoteltu tekijöiden vastuualueiden mukaan, jotka erosivat työn aikana toisistaan tarpeeksi merkittävällä tavalla, että moinen erottelu oli käytännöllisin tapa käsitellä kaikki osa-alueet selkeällä tavalla.
The software solution was made using the MERN software stack. React Native and its Expo framework was used to create the frontend. In the backend MongoDB was used as a database and the application programming interface was created with Node.js and Express.js. Additionally, Expo’s various CICD tooling was used for implementing and automating CICD functionality. Cloudflare R2 was used in conjunction with the application programming interface and database for image serving purposes.
The client for the project was an individual studying to become a Bachelor of Hospitality Management and enterprising as a nutritional therapist, who had noted benefits for such application in his clientele.
The thesis is split into three main segments, each containing facets of the development process, background theory and execution of a specific field of focus in the project. Each main part comprises of the field of responsibility of one of the three developers, and due to the areas of responsibility being so different from each other, it was deemed appropriate to separate them thusly.