How kvk0396/serveease works
ServeEase connects customers with local service providers. The primary workflow is service discovery and detail review, availability selection, booking, provider handling, and post-service ratings; providers also manage listings and schedules. The React client uses an API layer to reach the Spring REST backend, whose controllers, services, repositories, and JPA entities implement the platform. The README documents role-based dashboards and live notifications. Some backend controllers and frontend pages were not sampled, so those documented capabilities are shown without guessing their internal call paths.
Main entry points: App.tsx Web application · api.ts API client · repository Data repositories · ServiceDetailPage.tsx Service details
Components 22
Customer and provider UI
- Web application
servicefinder-frontend/src/App.tsx - Service discovery
servicefinder-frontend/src/pages/ServicesPage.tsx - Service details
servicefinder-frontend/src/pages/ServiceDetailPage.tsx - Customer bookings and ratings
servicefinder-frontend/src/pages/customer - Provider workspace
servicefinder-frontend/src/pages/provider - Availability controls
servicefinder-frontend/src/components/RecurringAvailabilityManager.tsx - API client
servicefinder-frontend/src/lib/api.ts
Backend API
- REST API
Project/src/main/java/com/servicefinder/controller
Marketplace domain
- Service listings
Project/src/main/java/com/servicefinder/controller/ServiceController.java - Booking lifecycle
Project/src/main/java/com/servicefinder/controller/BookingController.java - Ratings and reviews
Project/src/main/java/com/servicefinder/controller/RatingController.java - Availability search
Project/src/main/java/com/servicefinder/service/AvailabilityService.java - Geolocation search
Project/src/main/java/com/servicefinder/service/GeolocationService.java - Chat assistance
Project/src/main/java/com/servicefinder/service/ChatService.java - Data repositories
Project/src/main/java/com/servicefinder/repository - Marketplace records
Project/src/main/java/com/servicefinder/model
Identity and access
- Authentication endpoints
Project/src/main/java/com/servicefinder/controller/AuthController.java - JWT security
Project/src/main/java/com/servicefinder/security
Client state and alerts
- Authentication state
servicefinder-frontend/src/store/authStore.ts - Live notifications
servicefinder-frontend/src/contexts/NotificationContext.tsx
Other components
- Customers and providers
- ServiceFinder API
Connections 20
- Customers and providers → Web application: use
README.md - Web application → Service discovery: routes to
servicefinder-frontend/src/App.tsx - Web application → Service details: routes to
servicefinder-frontend/src/App.tsx - Web application → Customer bookings and ratings: routes to
servicefinder-frontend/src/App.tsx - Web application → Provider workspace: routes to
servicefinder-frontend/src/App.tsx - Service details → API client: requests data
servicefinder-frontend/src/pages/ServiceDetailPage.tsx - Service discovery → API client: searches via
servicefinder-frontend/src/pages/ServicesPage.tsx - Availability controls → API client: manages slots
servicefinder-frontend/src/components/RecurringAvailabilityManager.tsx - API client → ServiceFinder API: calls
README.md - Authentication state → API client: authenticates via
servicefinder-frontend/src/store/authStore.ts - ServiceFinder API → REST API: served by
README.md - REST API → Authentication endpoints: includes
README.md - Service details → Booking lifecycle: submits booking
servicefinder-frontend/src/pages/ServiceDetailPage.tsx - Booking lifecycle → Data repositories: reads and writes
Project/src/main/java/com/servicefinder/controller/BookingController.java - Ratings and reviews → Data repositories: reads and writes
Project/src/main/java/com/servicefinder/controller/RatingController.java - Availability search → Data repositories: queries and updates
Project/src/main/java/com/servicefinder/service/AvailabilityService.java - Geolocation search → Data repositories: queries
Project/src/main/java/com/servicefinder/service/GeolocationService.java - Data repositories → Marketplace records: persists
Project/src/main/java/com/servicefinder/repository/AvailabilityRepository.java - Authentication endpoints → JWT security: secures
- Web application → Live notifications: provides alerts
servicefinder-frontend/src/App.tsx