v1.0🎉
This commit is contained in:
parent
0ba52843de
commit
abdaedb63a
|
@ -1 +1 @@
|
|||
data/*
|
||||
data/*.csv
|
14
README.md
14
README.md
|
@ -1,3 +1,13 @@
|
|||
# eprilog
|
||||
# EpriLog
|
||||
|
||||
A little shiny r web app to log and view your espresso settings for le perfect taste!
|
||||
|
||||
|
||||
## Setup:
|
||||
|
||||
in the `data` folder rename the `*.example` files to end just with `*.csv`
|
||||
|
||||
`docker-compose up -d`
|
||||
|
||||
-> visit http://localhost:3839
|
||||
|
||||
A little shiny r web app to log and view your espresso settings for le perfect taste!
|
|
@ -0,0 +1 @@
|
|||
"","ID","Date","Time","Alias","CoffeeName","GrindTime","GrindSize","FlowResult","Taste","WDT","BrewTemp","BrewPreinfusion","BrewPreinfusionWait","BrewTime","GrinderDevice","MachineDevice","PortaInsert","Notes"
|
|
@ -0,0 +1,2 @@
|
|||
"","id","brandName","coffeeName","alias","expDate","arabicaPercentage","robustaPercentage","sourPercentage","strongnessPercentage","roastDarknessPercentage","originCountry"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
"","id","name","modelnumber","year"
|
||||
"1","0001","Sage Smart Grinder Pro","SCG820BSS4EEU1","2020"
|
|
@ -0,0 +1,2 @@
|
|||
"","id","name","modelnumber","year","notes"
|
||||
|
80
eprilog.r
80
eprilog.r
|
@ -1,12 +1,10 @@
|
|||
#####
|
||||
#
|
||||
# Author: PMF
|
||||
#
|
||||
#####
|
||||
require(shiny)
|
||||
#theme_set(theme_minimal())
|
||||
#################
|
||||
# Author: PMF #
|
||||
#################
|
||||
|
||||
# preperation
|
||||
require(shiny)
|
||||
|
||||
# preperation:
|
||||
# Get the status if r shiny is running in docker or not
|
||||
readRenviron("./.status-docker")
|
||||
statusDocker <- Sys.getenv("statusDockerENV")
|
||||
|
@ -21,11 +19,12 @@ ui <- navbarPage("EpriLog",
|
|||
sidebarPanel(
|
||||
h1('New Entry'),
|
||||
dateInput("date", "Date:"), #maybe better to automatically generate with time
|
||||
selectInput("alias", "Whats the nick name of the coffee?", coffees$alias, multiple = FALSE),
|
||||
selectInput("coffeeName", "Whats the name of the coffee?", coffees$coffeeName, multiple = FALSE),
|
||||
# Grind Time
|
||||
sliderInput("gindTime", "Ginding Time", value = 14, min = 0, max = 30),
|
||||
sliderInput("grindTime", "Ginding Time", value = 14, min = 0, max = 30),
|
||||
# Grind Size
|
||||
sliderInput("gindSize", "Ginding Size", value = 7, min = 0, max = 70),
|
||||
sliderInput("grindSize", "Ginding Size", value = 7, min = 0, max = 70),
|
||||
# Flow rate (0 = none, 10 = perfect, 20 = water)
|
||||
sliderInput("flowResult", "Flow rate (10 is Perfect):", value = 10, min = 0, max = 20),
|
||||
# Taste Rating (sour = none, 10 = perfect, 20 = bitter)
|
||||
|
@ -47,7 +46,7 @@ ui <- navbarPage("EpriLog",
|
|||
# Siebeinsatz
|
||||
numericInput("portaInsert", "Siever insert size", value = 12, min = 0, max = 100),
|
||||
# Notes
|
||||
textInput("notes", "Notes:", value = "Keine Notizen"),
|
||||
textInput("notes", "Notes:", value = 'Keine Notizen'),
|
||||
# submit
|
||||
actionButton("createEntry", "Submit new entry!", icon("save")),
|
||||
)
|
||||
|
@ -72,40 +71,59 @@ server <- function(input, output){
|
|||
# Render History Table
|
||||
output$history = DT::renderDataTable(
|
||||
brews, server = TRUE,
|
||||
options = list(order = list(3, "desc")
|
||||
columnDefs = list(list(visible = FALSE, targets = c(1,3,9,10,11,12,13,14,15)))
|
||||
options = list(order = list(3, "desc"),
|
||||
columnDefs = list(list(visible = FALSE, targets = c(1,2,10,11,12,13,14,15,16)))
|
||||
))
|
||||
|
||||
|
||||
# insert new entry
|
||||
observeEvent(input$createEntry, {
|
||||
# load current brews history
|
||||
brews <- (read.csv(file = "./data/brews.csv", header = TRUE, sep = ",", row.names = 1))
|
||||
# get currentTime
|
||||
currentTime <- Sys.time()
|
||||
# count up for new brew id
|
||||
newID <- (brew$id + 1)
|
||||
newID <- (runif(1, 1, 10000000000))
|
||||
|
||||
# For debugging only
|
||||
#
|
||||
# print(input$date)
|
||||
# print(currentTime)
|
||||
# print(input$alias)
|
||||
# print(input$coffeeName)
|
||||
# print(input$grindTime)
|
||||
# print(input$grindSize)
|
||||
# print(input$flowResult)
|
||||
# print(input$taste)
|
||||
# print(input$wdt)
|
||||
# print(input$brewTemp)
|
||||
# print(input$brewPreinfusion)
|
||||
# print(input$brewPreinfusionWait)
|
||||
# print(input$brewTime)
|
||||
# print(input$grinderDevice)
|
||||
# print(input$machineDevice)
|
||||
# print(input$portaInsert)
|
||||
# print(input$notes)
|
||||
|
||||
# add new line entry to history
|
||||
brews[nrow(brews) + 1, 1] <- newID
|
||||
brews[nrow(brews), 2] <- input$date
|
||||
brews[nrow(brews), 3] <- currentTime
|
||||
brews[nrow(brews), 4] <- input$coffeeName
|
||||
brews[nrow(brews), 5] <- input$grindTime
|
||||
brews[nrow(brews), 6] <- input$grindSize
|
||||
brews[nrow(brews), 7] <- input$flowResult
|
||||
brews[nrow(brews), 8] <- input$taste
|
||||
brews[nrow(brews), 9] <- input$wdt
|
||||
brews[nrow(brews), 10] <- input$brewTemp
|
||||
brews[nrow(brews), 11] <- input$brewPreinfusion
|
||||
brews[nrow(brews), 12] <- input$brewTime
|
||||
brews[nrow(brews), 13] <- input$grinderDevice
|
||||
brews[nrow(brews), 14] <- input$machineDevice
|
||||
brews[nrow(brews), 15] <- input$portaInsert
|
||||
brews[nrow(brews), 16] <- input$notes
|
||||
brews[nrow(brews), 4] <- input$alias
|
||||
brews[nrow(brews), 5] <- input$coffeeName
|
||||
brews[nrow(brews), 6] <- input$grindTime
|
||||
brews[nrow(brews), 7] <- input$grindSize
|
||||
brews[nrow(brews), 8] <- input$flowResult
|
||||
brews[nrow(brews), 9] <- input$taste
|
||||
brews[nrow(brews), 10] <- input$wdt
|
||||
brews[nrow(brews), 11] <- input$brewTemp
|
||||
brews[nrow(brews), 12] <- input$brewPreinfusion
|
||||
brews[nrow(brews), 13] <- input$brewPreinfusionWait
|
||||
brews[nrow(brews), 14] <- input$brewTime
|
||||
brews[nrow(brews), 15] <- input$grinderDevice
|
||||
brews[nrow(brews), 16] <- input$machineDevice
|
||||
brews[nrow(brews), 17] <- input$portaInsert
|
||||
brews[nrow(brews), 18] <- input$notes
|
||||
|
||||
# save changes to .csv file
|
||||
print("New entry added:")
|
||||
print(brews)
|
||||
write.csv(brews, file = "./data/brews.csv")
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue