GithubHelp home page GithubHelp logo

drruisseau / zio-petclinic-scala-3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kyledinh/zio-petclinic-scala-3

0.0 1.0 0.0 1.93 MB

Updated zio-petclinic example app to use Scala 3

License: Apache License 2.0

Shell 0.01% JavaScript 98.76% Scala 1.19% Makefile 0.03% HTML 0.01% SCSS 0.01%

zio-petclinic-scala-3's Introduction

ZIO Pet Clinic: An sample application written with ZIO 2, Scala 3 and ScalaJS.

This is repo is taking the zio/zio-petclinic project and building it with Scala 3.1.3

Changes from the original repo with:

  • Update from Scala 2 to Scala 3.1.3
  • Docker for Postgres Database
  • Update Tests
  • Tools
  • Deploy with Kubernetes
  • CI pipeline
  • Metrics

Product Name Screen Shot




Software Versions

Software Version Install
JVM openjdk 17.0.4 https://sdkman.io/install
Scala 3.1.3 https://www.scala-lang.org/download
sbt 1.7.1 https://www.scala-sbt.org/download.html
Zio 2.0.2 https://zio.dev/getting_started
Postgres 14 https://hub.docker.com/_/postgres
Docker Desktop 4.3.x https://www.docker.com/products/docker-desktop




Running localdev with Docker

Requires Docker to be running

Setup

  • make check
  • make setup

Run the local database, start backend server in Terminal 1

Start the database

  • make postgres-up
  • make postgres-init-migrate (do this only on first time to seed the database)
  • make postgres-down (to stop and remove the database container)

To run the backend API server (inside sbt shell)

sbt 
~ backend/reStart

Crtl+c (to exit)

Run the frontend in a separate Terminal 2

open http://localhost:3000
make frontend-up




Project Outline

A good starting point to understand this repo is with the Makefile. It will have the most common commands to check, setup, compile and build the project.

.
├── LICENSE
├── Makefile                   Commands to build/develop this project 
├── README.md
├── backend                    Scala code for RESTful api 
│   └── src
│       ├── main
│       └── test
│
├── build.sbt                  Dependency manager 
├── docker_pg_vol              Docker volume for Postgres DB
├── frontend                   Scala code that generates `main.js` for the webserver
│   ├── src
│   │   └── main
│   └── target
│       └── scala-3.1.3        main.js will be generated here
│
├── js-frontend                Javasript webserver using vite/Node
│   ├── index.html
│   ├── main.js
│   ├── main.scss
│   ├── node_modules/
│   ├── package.json
│   ├── postcss.config.js
│   ├── tailwind.config.js
│   ├── vite.config.js
│   └── yarn.lock
│
├── project                    The only project directory to be concerned with
│   ├── build.properties       sbt version  
│   └── plugins.sbt            plugins
│
├── sem-version                x.x.x
└── shared                     Scala code shared by backend and frontend, models 
    └── src
        ├── main
        └── test

zio-petclinic-scala-3's People

Contributors

oliveiosello avatar adamgfraser avatar kyledinh avatar jdegoes avatar kitlangton avatar thekojueffect avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.