Verkkosovellus, joka näyttää kartalla lämpötilojen muutoksen paikkakohtaisesti. Omien antureiden lisäksi tietoja haetaan läheisiltä sääasemilta. Näiltä sääasemilta haetaan myös säätiedot, kuten pilvisyys ja ilmankosteus. Datan analysointiin voidaan luoda haluttuja työkaluja, asiakkaan toiveiden mukaan. Tiedot tallennetaan Google Cloudissa olevaan PostgreSQL tietokantaan.
Sovellus rakennetaan käyttäen Next.js ohjelmistokehystä. Sovelluksen laadun ja toiminnallisuuden takaamiseksi luodaan testit, jotka ajetaan automaattisesti ennen jokaisen uuden version julkaisemista. Asiakkaan toiveen mukaan sovellus voidaan julkaista käyttäen Verceliä tai Google Runia.
- Verkkosovellus
- Sensoreiden sijainnit kartalla
- Sensoreiden livedata
- Kaavioiden generointi tägien avulla
- Tägien lisäys, poisto ja muokkaus
Analyysiraportti, loppuraportti sekä esitysmateriaali löytyvät docs-kansiosta tai täältä.
Tämä ohje opastaa, kuinka projekti asennetaan ja käynnistetään ensimmäistä kertaa kehitysympäristössä.
Kaikki projektin osat voidaan käynnistää Docker Compose -työkalun avulla. Docker Compose käynnistää clientin, serverin ja tietokannan.
-
Avaa uusi terminaali. Varmista, että olet projektin juurikansiossa.
-
Rakenna Docker-kontit:
docker compose build
-
Käynnistä sovellus:
docker compose up
Jos sovelluksen käynnistyksen yhteydessä python-server printtaa virheitä, sammuta sovellus näppäinyhdistelmällä
Ctrl + C, ja käynnistä sovellus uudelleen. Tarvittaessa toista tämä prosessi kahdesti.
Docker voidaan pysäyttää terminaalissa näppäinkomennolla Ctrl + C. Se ajetaan uudestaan komennolla docker compose up. Tämä vaaditaan ensimmäisen ajon jälkeen, jotta tietokannassa oleva data näkyy verkkosivulla.
-
Avaa uusi terminaali. Varmista, että olet projektin juurikansiossa.
-
Suorita tietokannan alustusskripti:
py ./server/src/api/sql/populate_db.py
-
Pysäytä Docker käyttämällä näppäinkomentoa
Ctrl + Cterminaalissa. -
Käynnistä uudelleen:
docker compose up
This project supports modern Kubernetes development using Skaffold with integrated testing capabilities.
-
Start development environment:
skaffold dev
-
Run with testing enabled:
skaffold dev -p quick-test
-
Run full test suite:
skaffold run -p full-test
The project uses Skaffold's native testing features instead of shell scripts:
- Custom Tests: Automated testing during build/deploy cycles
- Container Structure Tests: Validation of built container images
- Verify Tests: Post-deployment health and connectivity checks
- Test Profiles: Different test suites for dev/staging/production
# Run all tests
skaffold test
# Run with specific profiles
skaffold test -p quick-test # Quick health checks
skaffold run -p full-test # Comprehensive testing
skaffold run -p benchmark-test # Performance testing
# Post-deployment verification
skaffold verify
# Individual test functions
./scripts/test-runner.sh health
./scripts/test-runner.sh database
./scripts/test-runner.sh performance- quick-test: Fast health checks and linting for development
- full-test: Comprehensive testing with coverage for CI/CD
- benchmark-test: Performance and load testing
For detailed testing documentation, see docs/skaffold/TESTING_GUIDE.md.

