Programmable relay timer.

Hello , I have an led strip, I would like to use arduino nano , a relay , button and a piezoelectric speaker to make a programmable timer. What I want it do do is you hold the button and it makes a beep and for every beep (say once a second) it adds some time to the timer (say 15 minutes) and the relay is switched on for the time set through the timer and if you hold the button again then it will add more time.
I have trouble programming it as im not very good. Could someone help me with this? So far I have this:

const int button = 2;     
const int relay =  13;
const int beep = 3;


int buttonState = 0;
void setup() {

  pinMode(relay, OUTPUT);
  pinMode (beep, OUTPUT);
  pinMode(button, INPUT);
}

void loop() {
  buttonState = digitalRead(button);


  if (buttonState == HIGH) {
    digitalWrite(beep, HIGH);
    delay 1000;
    digitalWrite (beep, LOW);
    // something that adds the time to the timer
    
  }
    
  
}

But I have no idea how to go from this to the timer. I don't know how to add time to the timer and then switch on the relay based on it and subtract time passed from the remaining time.

Please can you describe your problem in such a way that even a stupid like me can understand it.

asdfire:
Could someone help me with this?
then switch on the relay based on it and subtract time passed from the remaining time.

Using no RTC module?
Using internal timing of the Arduino board only?
Does accuracy matter?

Typical modern Arduino boards in R3 design (UNO R3, MEGA2560 R3) use relatively inaccurate "ceramic reconators" to create thie 16 MHz clocking. So inaccuracy with internal timing might be off up to 0.8% from real time.

This means: If you do 100 seconds of timing, the actual time passed may be something between 99.2s and 100.8s.

15 minutes is 9 times 100 seconds, so the timing might be off time by 9*0.8 = 7.2 seconds.

Would it be OK, that your actual 15 minutes is running something between 14:52.8 minutes and 15:07.2 "real time", actually?
Or do you need better accuracy?

If yes, you better consider using a RTC module, which should be off time much less than one second in 15 minutes.

Do you already have a relay module? Which one to use?