oen9 / bills-tracker

Webapp for tracking bills.

Home Page:https://bills-tracker.herokuapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bills-tracker

Build Status CircleCI

Webapp for tracking bills.

Backend

  1. REST
  2. scala
  3. cats
  4. http4s
  5. reactivemongo
  6. circe
  7. quicklens

Frontend

  1. REST
  2. scalajs
  3. reactjs
  4. cats
  5. diode
  6. circe
  7. quicklens
  8. bootstrap

How to run

Developed with GraalVM (both docker and pure jvm)

Docker compose (0-config version)

This is complete configuration including mongodb. You don't need to configure anything.

Required:

  • docker
  • docker-compose
  1. compile project:
    sbt stage
  2. run:
    docker-compose up -d web
  3. stop:
    docker-compose down

Docker image

Required:

  • docker
  • mongodb
  • You need to provide MONGO_URL_BILLS_TRACKER env to container. In this example I'll put MONGO_URL_BILLS_TRACKER=mongodb://test:test@localhost:27017/test to /etc/environment file.
  1. compile project, build image and publish to local docker:
    sbt docker:publishLocal
  2. run:
    docker run -d -p 8080:8080 --env-file /etc/environment --name billstracker billstracker:0.1
  3. stop:
    docker stop billstracker && docker rm billstracker

Pure JVM

Required:

  • mongodb
  • You need to provide MONGO_URL_BILLS_TRACKER env. You can e.g. add it to /etc/environment or ~/.bashrc or even to live shell like this: export MONGO_URL_BILLS_TRACKER=mongodb://test:test@localhost:27017/test.
  1. build project
    sbt stage
  2. run:
    ./target/universal/stage/bin/billstracker
  3. stop:
    ctrl+c

About

Webapp for tracking bills.

https://bills-tracker.herokuapp.com


Languages

Language:Scala 97.9%Language:HTML 1.9%Language:CSS 0.2%