Belém Lima Arquitectos positioned the cabins at opposite ends of a wooden jetty alongside Bagaúste Dam in Lamago.
The new facilities serve the increasing number of tourists travelling past the dam on their way to wineries in the nearby Douro Valley.
"The location was already used in the summer but the facilities were very poor," the architects told Dezeen.
"The Mayor of Lamego suggested building a new wharf, a bar area and a warehouse for canoes as well as the entire surrounding area," they added.
The single-storey cabins have sharply pointed rooftops and their exteriors are clad with aluminium panels.
The combined cafe and bar is filled with tables and chairs for customers, which spill out onto a covered terrace.
Glass windows along one side of the cafe offer views out across the dam, while ramps outside lead down to the water's edge.
The new boathouse sits at the other end of the jetty. Exposed diagonal braces support the walls, interspersed with metal hooks for storing public rowing boats and canoes.
Photography is by Fernando Guerra.
Sign up for a daily roundup
of all our stories