Skip to content
!Nik

About

A full-stack venue and table booking system split into a NestJS API and a React client. Users can view establishments on the map, find nearby places using Google Maps geolocation, view detailed information about establishments, reserve tables, and leave ratings and reviews.

Owners manage their establishments through their own page, which includes the name, description, photo galleries, and opening hours; there are also moderators who help manage reviews. Also, there is an admin page where the site, establishments, and users are managed; this page features four roles (user, moderator, owner, and super administrator), access to which is controlled through role guards.

The backend uses PostgreSQL with TypeORM, JWT authentication with refresh tokens, and Swagger API documentation. The project uses Docker for containerization and is deployed via GitHub Actions and Watchtower. The frontend is built using React 19, TypeScript, Vite, and Redux Toolkit.