Imported from jusju/helsinki-asunto-kysynta-kausivaihtelut (
AGENTS.md). Install upstream withnpx skills add jusju/helsinki-asunto-kysynta-kausivaihtelut. Copyright stays with the author.
AGENTS.md
Ohjeet koodausagenteille (esim. Claude Code) tässä repositoriossa työskentelyyn.
Projektin yleiskuvaus
Yhden moduulin Maven-projekti Javalla. Työkalu lukee Outlookin .msg-tiedostot
(Vuokraovi-palvelun yhteydenottopyynnöt), poimii tärkeät viestit, laskee niiden
määrän kuukausittain ja tuottaa pylväskaavion SVG-muodossa.
- Kieli: Java 11
- Buildjärjestelmä: Maven (
pom.xml) - Pääriippuvuus: Apache POI
poi-scratchpad(.msg-tiedostojen lukemiseen) - Käynnistyspiste:
fi.helsinki.kysynta.Main
Hakemistorakenne
pom.xml
src/main/java/fi/helsinki/kysynta/
├── Main.java # CLI-käynnistyspiste, .msg-jäsennys, kuukausilaskenta
└── SvgBarChart.java # SVG-pylväskaavion muodostus
Buildkomennot
| Tehtävä | Komento |
|---|---|
| Kääntäminen | mvn compile |
| Paketointi (ajettava jar) | mvn clean package |
| Suorittaminen jarista | java -jar target/helsinki-asuntojen-kysynta-kausivaihtelut-1.0.0.jar |
| Suorittaminen Mavenilla | mvn compile exec:java -Dexec.mainClass=fi.helsinki.kysynta.Main |
maven-shade-plugin tuottaa package-vaiheessa itsenäisen jar-tiedoston, jossa
riippuvuudet ovat mukana. Ajokomennot ja argumentit on kuvattu tarkemmin
tiedostossa README.md.
Testit
Projektissa ei ole tällä hetkellä automaattisia testejä. Jos lisäät testejä,
käytä JUnitia hakemistossa src/test/java ja aja ne komennolla mvn test.
Konventiot
- Koodi on Javaa; noudata olemassa olevaa tyyliä (4 välilyönnin sisennys,
final-luokat, staattiset apumetodit). - Julkiset metodinimet luokassa
SvgBarChartovat suomeksi (esim.piirraKaavio,seuraavaTaso). Yksityiset apumetodit voivat olla englanniksi (esim.escape,format). Säilytä tämä konventio. - Käytä
Locale.ROOT-lokaalia merkkijonojen muotoilussa ja vertailuissa (kuten olemassa oleva koodi tekee). - Älä muuta
String.format- tai muita JDK-kutsuja uudelleennimeämisen yhteydessä.
Muutosten varmistus
Uudelleennimeämisen tai muun muutoksen jälkeen varmista, että projekti kääntyy:
mvn clean package
Tarkista, ettei IDE:n diagnostiikassa ole virheitä ennen kuin ilmoitat työn valmiiksi.
Kaavion (SvgBarChart) asetukset
SvgBarChart-luokan pylväskaaviota voi mukauttaa ennen piirraKaavio-kutsua:
| Metodi | Kuvaus |
|---|---|
nimeaXTaso(String nimi) |
Asettaa x-akselin nimen (oletus "Month"). |
nimeaYTaso(String nimi) |
Asettaa y-akselin nimen (oletus "Requests"). |
asetaXyksikot(int alku, int loppu) |
Näyttää kuukausien sijaan numeeriset arvot alku..loppu tasavälein. |
asetaYyksikot(int alku, int loppu) |
Asettaa y-asteikon ala- ja ylärajan datasta laskemisen sijaan. |
LLM:t
Tämän repositorion muutoksia on tehty seuraavilla suurilla kielimalleilla (arvio työhön käytetyistä malleista):
- Anthropic Claude Opus 4.8 (
claude-opus-4-8) — Claude Code -agentin kautta tehdyt uudelleennimeämiset, dokumentaatio ja kaavion akseliasetukset. - Anthropic Claude -malliperhe yleisemmin (esim. Sonnet/Haiku) mahdollisissa aiemmissa muokkauksissa.