/Qcm.io

Primary LanguageScalaMIT LicenseMIT

Purpose

//to describ

Stack

Backend

Http4s (https://http4s.org)
ZIO (https://zio.dev)
Doobie (https://tpolecat.github.io/doobie/)
Quill (https://getquill.io/)
Chimney (https://github.com/scalalandio/chimney)

Frontend

ScalaJs 
Laminar (http://Laminar.dev/)
AirStream (https://github.com/raquo/Airstream)
waypoint

Shared

Circe

Tools

Postgres
Docker

Start app locally

1 - DB 
    docker-compose up

2 - App
    sbt http/run

build and publish image

build image

sbt http/docker:publishLocal

publish on gitLab

1) docker login registry.gitlab.com
2) docker push registry.gitlab.com/fabszn/qcm.io

Publish on Heroku

(to be complete) set env : heroku config:set

generate dockerFile and then use heroku containter:push --app .... web andThen heroku container:release --app ... web

MVP

first purpose is to enable to students to attend an exam.

To achieve this target, I need the following points :

  • Add an question
  • Add reponse to a question
  • add question to an exam
  • add Student
  • add student to an exam
  • When user log in to app, Student can see its questions
  • Student can answer to one question

All these features, implie both APIs and UI