This repository contains a full-stack hotel booking application with two main parts:
- π Backend: Java, Spring Boot, Maven
- π Frontend: Next.js, React, TypeScript, Material UI, next-i18next
- Node.js >= 18.x
- npm >= 9.x
- Java 17 or newer
- Maven 3.8.x or newer
-
Navigate to the
backend/directory:cd backend/ -
Build the project:
mvn clean install
-
Configure environment variables in
application.ymlor via system env (e.g., database URL, credentials). -
Run the application:
mvn spring-boot:run
The backend will start on http://localhost:8080.
-
Navigate to the
frontend/directory:cd frontend/ -
Install dependencies:
npm install
-
Create
.env.localbased on.env.exampleand set API base URL (e.g.,NEXT_PUBLIC_API_URL=http://localhost:8080). -
Run in development mode:
npm run dev
The frontend will be available at http://localhost:3000.
- Hotel Search: Filter by country, date range, guest count
- Responsive UI: Mobile-first design with Material UI
- Internationalization: Multi-language support using next-i18next
- Secure API: JWT-based authentication for admin routes
- Reservation Management: Create, view, cancel bookings
Krystian Juszczyk- GitHub