Most business owners have shut up shop and fled Ukraine's Mikolaiv, but florist Angela Kalisnik continues to sell tulips and roses just a short drive away from the frontline.

"We didn't know the war was coming," says the 25-year-old.

"Flowers continue to bloom in our region and we don't want to throw them away."

Snow falls on the wide streets of the deserted city, and only a few people have ventured out in the bitter cold.

Outside the city, soldiers are fighting off invading Russian forces.

But inside Kalisnik's shop, multicoloured bouquets line the wall.

And against all odds, there have been customers.

A man steps out the door with a huge bouquet for his mother's birthday.

A few days ago, a passer-by dropped in to buy a bunch for a woman who had found and returned his lost wallet.

And many soldiers flocked in to buy flowers for their girlfriends for Women's Day on Tuesday, she says.

Kalisnik says she closed her shop a week after Russia invaded her country on February 24, but then decided to open back up.

"War is war, but people continue to live, to celebrate birthdays," she says.

"We need to cheer people up and keep the economy going."

A short walk away, dozens huddle in a queue for an ATM. Some have been waiting for more than two hours.

Vitaly is annoyed.

Thousands of civilians have fled Mikolaiv in the past days
Thousands of civilians have fled Mikolaiv in the past days AFP / BULENT KILIC

"I don't understand, two days ago, everything was normal," he says, without giving his second name.

"But now we can only take out 400 hryvnia ($13) at a time," so have to withdraw several times in a row.

For several days, the Russians have bombarded Mykolaiv, which lies on the road to the strategic port city of Odessa some 130 kilometres (80 miles) down the Black Sea coastline.

But the Ukrainians have managed to repel the Russians at their gates, the region's governor Vitaly Kim says, and "the battle is being won".

At a news conference on Friday in front of the city hall, the young politician assures those attending that the Russians have been pushed back to 15-20 kilometres (9-12 miles) outside the city.

"They thought we'd welcome them with flowers, they didn't expect such resistance," says Kim, who admits he did "not know anything about war 15 days ago".

Thousands of civilians have fled Mikolaiv in recent days, heading towards Odessa, which has so far been spared the bombardment.

The mass exodus has left the city near empty.

Most shops are closed and the supermarkets still open are starting to run low on pasta, rice and canned food.

Army chaplain Valentin prays the nightmare will soon be over.

"War is approaching but God willing, it will end quickly," says the man in his 50s.

Out on the street, an elderly woman called Valentina makes her way home with her daughter-in-law Maria.

They live together now after the men in the family went off to fight. They know that if the bombs start to fall, they should hide behind a strong wall or dive into the bathtub.

"We will win this war, God help us," Valentina says.