Staattinen sivusto vai sovellus
Staattinen sivusto on joukko valmiita tiedostoja, jotka palvelin vain näyttää kävijälle. Sovellus on ohjelma, joka on koko ajan käynnissä palvelimella ja tallentaa tietoa. Ero ratkaisee ylläpidon hinnan.
Kopioi nämä vaatimukset tekoälylle, jolla rakennat sivustoa, mieluiten jo ennen kuin aloitat. Jos sivusto on jo valmis, pyydä tekoälyä tarkistamaan se näitä vaatimuksia vasten.
LABONAN TEKNISET VAATIMUKSET ITSE TEHDYLLE SIVUSTOLLE
Rakennat sivustoa tai sovellusta, joka julkaistaan Labonan ylläpitämään
palvelinympäristöön. Noudata alla olevia vaatimuksia. Jos jokin vaatimus on
ristiriidassa aiemman suunnitelman kanssa, kerro se käyttäjälle ja ehdota
vaatimusten mukaista toteutusta.
Selvitä ensin, kumpaa tyyppiä sivusto on:
A) STAATTINEN SIVUSTO: valmiita tiedostoja, ei palvelimella ajettavaa koodia,
ei tietokantaa, ei kirjautumista, ei palvelimelle tallentuvaa tietoa.
B) SOVELLUS: jokin edellisistä on mukana.
Kerro käyttäjälle selvästi, kumpaa tyyppiä sivusto on, ja miksi.
--------------------------------
A) STAATTINEN SIVUSTO
--------------------------------
A1. Lopputulos on kansio, jossa on vain HTML-, CSS-, JavaScript-, kuva- ja
fonttitiedostoja. Jos käytät rakennustyökalua, kerro rakennuskomento ja
kansio, johon valmiit tiedostot syntyvät.
A2. Ei palvelimella ajettavaa koodia, ei tietokantaa, ei kirjautumista eikä
hallintapaneelia.
A3. Lomake lähettää viestit suoraan sivuston omistajan sähköpostiin ulkoisen
lomakepalvelun kautta. Palvelun tili on sivuston omistajan nimissä.
Lomakkeen tietoja ei tallenneta sivuston palvelimelle.
A4. Selaimessa ajettavassa koodissa ei ole salaisia avaimia. Kaikki, mikä on
sivuston tiedostoissa, on kenen tahansa luettavissa.
A5. Sivuston sisäiset linkit ja tiedostopolut toimivat, kun sivusto julkaistaan
verkkotunnuksen juureen.
A6. Sivustolla on oma 404-sivu.
A7. Lähdekoodi on sivuston omistajan omassa yksityisessä GitHub-repositoryssa.
Julkaistava versio on main-haarassa.
--------------------------------
B) SOVELLUS
--------------------------------
Ajoympäristö
B1. Node.js 24. Ei Dockeria, ei Bunia, ei Pythonia eikä muita ajoympäristöjä.
B2. Sovellus käynnistyy yhdellä komennolla ja toimii yhtenä prosessina.
Kerro käynnistyskomento README-tiedostossa.
B3. Sovellus kuuntelee porttia, jonka se lukee PORT-ympäristömuuttujasta.
Älä käytä kiinteää porttinumeroa.
B4. Kaikki käynnistyksessä tarvittavat kirjastot ovat package.json-tiedoston
kohdassa dependencies, eivät kohdassa devDependencies.
B5. Riippuvuudet asennetaan npm:llä, ja package-lock.json on repositoryssa.
B6. Ei erillisiä taustaprosesseja, jonotyöntekijöitä eikä WebSocket-yhteyksiä.
B7. Jokainen pyyntö valmistuu alle 120 sekunnissa.
B8. Ajastetut tehtävät, kuten vanhojen tietojen poisto, ovat erillisiä
komentoja, jotka voidaan ajaa ajastuksella. Ne eivät saa riippua siitä,
että joku avaa tietyn sivun.
Tiedot ja tiedostot
B9. Tietokanta on SQLite-tiedosto tai MySQL. Ei Redistä eikä muita erillisiä
palveluja.
B10. Tietokantatiedoston ja ladattujen tiedostojen sijainti luetaan
ympäristömuuttujasta. Sijainti on sovelluksen koodikansion ulkopuolella,
koska koodikansio korvataan jokaisessa julkaisussa.
B11. Sovelluksessa on komento varmuuskopion ottamiseen ja toinen sen
palauttamiseen. Varmuuskopio sisältää tietokannan ja ladatut tiedostot.
B12. Tietokannan rakennemuutokset ajetaan hallitusti käynnistyksen yhteydessä
tai erillisellä komennolla. Uusi versio ei saa hävittää olemassa olevaa
tietoa.
Tietoturva
B13. Salaisuudet, kuten avaimet ja salasanat, luetaan vain
ympäristömuuttujista. Niitä ei ole koodissa eikä repositoryssa.
Repositoryssa on .env.example, jossa ovat muuttujien nimet ilman arvoja.
B14. Ladatut tiedostot tallennetaan kansioon, jota ei voi avata suoraan
selaimella. Tiedoston tyyppi ja koko tarkistetaan palvelimella.
B15. Kirjautumisessa on yritysten määrän rajoitus.
B16. Salasanat tallennetaan tiivistettyinä, ei selväkielisinä.
B17. Sovellus toimii välityspalvelimen takana: se lukee kävijän osoitteen
välityspalvelimen otsakkeista vain, kun se on asetuksella sallittu.
Julkaisu ja toiminnan tarkistus
B18. Lähdekoodi on sivuston omistajan omassa yksityisessä GitHub-repositoryssa.
Julkaistava versio on main-haarassa.
B19. Sovelluksessa on osoite /health, joka vastaa tilakoodilla 200, kun
sovellus ja tietokanta toimivat.
B20. README-tiedostossa on asennus- ja käynnistysohje, luettelo
ympäristömuuttujista sekä varmuuskopio- ja palautuskomennot.
Kun olet käynyt vaatimukset läpi, anna käyttäjälle luettelo: jokainen
vaatimus, täyttyykö se, ja mitä pitää muuttaa.
Vaatimuslohko on kirjoitettu tekoälylle. Tässä ovat sen tärkeimmät kohdat ilman ammattisanastoa.
Staattinen sivusto on joukko valmiita tiedostoja, jotka palvelin vain näyttää kävijälle. Sovellus on ohjelma, joka on koko ajan käynnissä palvelimella ja tallentaa tietoa. Ero ratkaisee ylläpidon hinnan.
Kun julkaiset uuden version, vanha koodi korvataan kokonaan. Jos tietokanta ja kuvat ovat samassa kansiossa kuin koodi, ne katoavat julkaisussa. Siksi niiden paikka pitää voida asettaa erikseen.
Avain tai salasana, joka on koodissa, päätyy repositoryyn ja jokaiseen varmuuskopioon. Staattisella sivustolla se näkyy lisäksi jokaiselle kävijälle.
Repository on paikka, jossa sivustosi lähdekoodi säilyy ja josta se julkaistaan. Se on sinun nimissäsi, joten koodi pysyy sinulla myös ylläpidon päätyttyä.
Näissä tilanteissa voimme rakentaa sivuston uudelleen WordPressiin tai Älysivuille.
Kerro sivustostasi lomakkeella. Staattisen sivuston otamme ylläpitoon suoraan. Sovellukselle teemme ensin vastaanottotarkistuksen.
30 päivän alin hinta verkkokaupan tarjouksissa
PHP:ssä kaksi kriittistä haavoittuvuutta: varmista sivustosi päivitys
Yhteistyö oli sujuvaa alusta loppuun saakka. Apua ja ohjausta sai aina tarvittaessa, ja yleensä sähköpostitse esitettyihin kysymyksiin vastattiin nopeasti.Villakka