Skip to content

Commit

Permalink
Initial commit: 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tpanum committed May 14, 2021
0 parents commit dac6293
Show file tree
Hide file tree
Showing 27 changed files with 3,944 additions and 0 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/push-to-docker-hub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Publish Docker image
on:
push:
branches:
- "main"
tags:
- "v*"
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Compile frontend bundle
working-directory: ./frontend
run: |
npm install
npm run build
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: tpanum/hjem
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
20 changes: 20 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM golang:1.16 as builder
RUN mkdir /build
WORKDIR /build
COPY *.go go.mod go.sum ./
COPY app app
COPY frontend frontend
RUN ls -lha /build
WORKDIR /build/app
RUN CGO_ENABLED=1 GOOS=linux go build -a -tags netgo -ldflags "-linkmode external -extldflags -static" -o hjem main.go

FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /
RUN mkdir app data
WORKDIR /app
COPY --from=builder /build/app/hjem /app

ENTRYPOINT [ "./hjem"]

CMD [ "-db-file" "/data/hjem.db" ]
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2021 Thomas Kobber Panum

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Hjem
Dette værktøj er designet til at **støtte huskøbere** til at kunne danne sig et overblik **historiske købspriser for nærområdet** givet man har **udset sig en matrikel** (hus/lejlighed).

Værktøjet er skabt pågrund at manglende indsigt for købere i boligmarkedet, som gør det svært at lave en rimelighedsbetragtning for udbudspriser uden at blive overfuset af en ejendomsmægler.

![Eksempel for Østerbro 90, st. tv.](./example.png)

## Anvendelse
Den simplest måde at anvende værktøjet på (for de fleste) er nok ved brug af [Docker](https://en.wikipedia.org/wiki/Docker_(software)), det er så simpelt som at køre følgende kommando:

``` shell
docker run -p 8080:8080 tpanum/hjem
```

Så er værktøjet tilgængeligt på addressen: `http://localhost:8080`. Hvis der ønsker adgang til sqlite databasen som indeholder rådata, kan den gøres tilgængelig ved at mounte `/data` mappen, e.g. tilføj argumentet `-v /data:$(pwd)/<din_mappe_her>`. Husk dog at rå data også er tilgængeligt gennem web interfacet som CSV.

### Fra source
Projektet kan også køres direkte fra source, men så skal følgende steps udføres:

1) Byg frontend: `cd frontend && npm install && npm run build && cd ..`
2) Kør webserver: `cd app && go run main.go`

Bemærk dog at dette kræver Go (version `1.16+`) og at `npm` er installeret.

## Analyserne
Værktøjet udfører nogle projekteringer som er *meget simple*, og der en masse aspekter som kan have påvirket den nuværerende udbudspris som ikke afspejles ud fra projekteringerne. Disse aspekter omfatter blandt andet:

**Aspekter som kan hæve prisen**: Tilbygning, renovering, omstrukturering af nærområdet, øget popularitet for området, øget efterspørgsel.

**Aspekter som kan sænke prisen**: Faldet popularitet for området, højere udbud, ingen renovering.



## Data
De priser som vises i værktøjet, har følgende karakteristika:

- Der vises kun priser af samme typer af matrikler, som den søgte. *Det er kun huspriser som anvendes når der søges på en matrikel som er et hus*.
- Priser som vises er kun dem som betegnes som *almindelig fritsalg*.
- Priser er for nærområdet fra den søgte matrikel (radius fra matrikel), og er ikke påvirket af postnumre.
- Som standard, filtreres indhentede priser som ligger langt fra normal området. *Denne filtrering kan dog fjernes*.

## Det med småt
Værktøjer indsamler kun data fra offentligt tilgængelige kilder, men af juridiske hensyn fraskriver mig et hvert ansvaret for de opslag værktøjet skulle udføre under sin kørsel.
Loading

0 comments on commit dac6293

Please sign in to comment.