Hur bygger jag mitt första projekt (rest-api, webbsida, databas)?
Ärade SweCare,
jag kontakter er i en tid av stor förvirring i jakt på kunskap som min Google-Fu varit på tok för svag för att lösa åt mig. Mina försök att åkalla ChatGPT har även de varit lite över huvudet på mig. Jag antar att jag antingen inte vet vad det är jag vill, är för korkad för att förstå svaret eller, ve och fasa, kanske en kombination av de två?
Problemet jag vill lösa
En hobby är att odla diverse ätbara saker på tomten. Anteckningar om dessa görs i diverse kollegieblock, lösa papper, på post-its, via bilder/video på telefonen etc. Det är milt uttryckt svårt att få en god överblick i slutet på året över vad som är gjort, vad som finns vart och vad varje odling fått till sig i form av gödsel och vatten för att prestera som den gör.
Jag vill få ordning på all data på ett ställe (digitaliserat) och kunna använda den för att skapa diagram, se trender och liknande.
Hur jag tror att jag ska lösa det hela
Jag har fått för mig att lösningen är att skapa en databas innehållandes de saker jag vill hålla ordning på, den tänker jag mig sedan att det ska gå att interagera med via en webbsida (webapp?) där man kan peta in när man vattnat, gödslat, skördat etc men även se vilka saker som finns på de olika odlingsplatserna på tomten och vilka odlingsmedium som finns i krukorna etc.
Jag har fått för mig att de bitar jag behöver är:
1. En databas
2. Ett sätt att interagera med databasen från webbsidan, här tänker jag mig rest-api skrivet i java
3. En webbsida med användarvänlig och lämplig design för syftet som använder javascript för att prata med databasen
Till en början är min tanke att det hela ska rulla lokalt på min dator med mig som enda användare. Får jag till något bra som faktiskt fungerar är tanken att sedan lära mig hur det fungerar att lägga upp det på en server nåbar utifrån så även några andra kan använda det.
Vad jag gjort hittills
Jag har gjort ett försök på att rita upp hur jag tänker mig att databasen ska se ut på diagrams.net
Försökt läsa på om REST-API via bland annat Freeodecamps video om API för nybörjare och genom att chatta med ChatGPT.
Jag har börjat skissa på hur jag tänker mig att hemsidan ser ut, dock på papper...
Mina funderingar
Är jag på rätt väg?
Är min databasdesign någorlunda resonlig eller är jag helt ute och cyklar?
ChatGPT rekommenderar något som kallas Spring Boot, är det ett bra ställe att börja på?
Om jag vill ha ett API, behöver jag då skapa vyer i min databas för olika saker jag vill visa eller skriver jag sql kommandon i logiken för mina api-rutter/"endpoints" (ChatGPT är lite flytande på om det är någon skillnad på de begreppen eller ej)?
Vad borde jag börja med för att få till en första produkt som känns användbar? Min tanke är att kanske börja med en liten testdatabas med bara plantor och bevattningstabellerna samt skapa ett api dit och ha en så enkel hemsida som möjligt som kanske visar en lista på plantor med knappar som går att trycka på när man vattnat dem.
Kommer ovan gå att skala upp till resten sedan eller är det bara bortkastat att börja litet pga overhead?
Jag är införstådd med att mina språkval kanske inte är perfekta (?) men jag har en uppföljningskurs i Java kommande termin och tänkte att det väl är bra att värma upp lite innan dess. Javascript kan jag inte alls men det är mycket snack om react.js på jobbet för tillfället så jag tänker mig väl att det är något jag bör bekanta mig med. I övrigt är jag en synnerligen medioker kodare vars största erfarenhet hittills är lite terminalprogram i python/c#/Java samt småscript i Powershell så för mig är det här ett väldigt stort projekt
Primär: R9 3900X | ASUS X570-F Gaming | NH-D15 | 64GB@3200MHz | RTX 3080 10GB | Seasonic 850W | Fractal Define R6 |
Gamla bettan: i5 750@3.8GHz | 8GB | HD5770 | Corsair VS 550W | FD R2 |