How mmitic99/isa_projekat works
This is a fishing and cottage booking application: Angular client workflows serve guests, customers, and boat/cottage owners, while a Spring Boot API models listings, appointments, reservations, reviews, and user accounts over a PostgreSQL-backed persistence layer. The principal flow is discovery and availability search, reservation creation, then customer and owner follow-up; separate branches support listing management, special offers, reports, and account administration. The tree and README establish product scope, but most controllers and service implementations were not sampled, so those links are shown as unverified rather than asserted calls.
Main entry points: ReviewService.java Review logic · ReservationService.java Reservation logic · controller Listing APIs · ReservationEntitiesService.java Listing and availability
Components 23
Angular client
- Guest browsing
FishingBookingApp-frontend/src/app/unauthorized-user - Sign-in and signup
FishingBookingApp-frontend/src/app/unauthorized-user - Customer bookings
FishingBookingApp-frontend/src/app/regular-user - Owner workspace
FishingBookingApp-frontend/src/app/special-user - Listing client
FishingBookingApp-frontend/src/app/special-user/service/entities.service.ts
Spring API
- Catalog API
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReservationEntitiesController.java - Reservation API
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReservationController.java - Listing APIs
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller - Review API
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReviewController.java
Booking domain
- Reservation logic
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/ReservationService.java - Listing and availability
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/ReservationEntitiesService.java - Review logic
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/ReviewService.java - Booking records
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/model/Reservation.java - Listings and services
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/model/ReservationEntities.java - Reviews
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/model/Review.java - Persistence repositories
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/repository
Identity and messaging
- Account API
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/UserController.java - Authentication API
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/AuthController.java - Token security
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/security/auth/TokenAuthenticationFilter.java - Email notifications
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/EmailService.java
Other components
- App user
- PostgreSQL
- Mail service
Connections 25
- App user → Guest browsing: browses
- App user → Sign-in and signup: signs in
- App user → Customer bookings: books
- App user → Owner workspace: manages
- Guest browsing → Catalog API: searches
- Customer bookings → Reservation API: requests
- Owner workspace → Listing APIs: manages
- Listing client → Listing APIs: HTTP requests
- Reservation API → Reservation logic: delegates
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReservationController.java - Catalog API → Listing and availability: delegates
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReservationEntitiesController.java - Listing APIs → Listing and availability: delegates
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReservationEntitiesController.java - Review API → Review logic: delegates
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/controller/ReviewController.java - Review logic → Persistence repositories: uses
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/ReviewServiceImpl.java - Review logic → Booking records: checks reservation
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/ReviewServiceImpl.java - Review logic → Listings and services: aggregates ratings
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/ReviewServiceImpl.java - Review logic → Reviews: creates reviews
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/ReviewServiceImpl.java - Reservation logic → Persistence repositories: persists bookings
- Listing and availability → Persistence repositories: reads listings
- Booking records → PostgreSQL: stored in
- Listings and services → PostgreSQL: stored in
- Sign-in and signup → Authentication API: authenticates
- Authentication API → Token security: issues tokens
- Account API → Email notifications: sends verification
- Reservation logic → Email notifications: notifies booking
- Email notifications → Mail service: sends mail
FishingBookingApp-backend/src/main/java/isa/FishingBookingApp/service/impl/EmailService.java