A full stack web application that helps users find and book trusted local service providers such as electricians, plumbers, tutors, and cleaners.
This platform also allows service providers to create profiles and manage their services.
Many people struggle to find reliable local services quickly. Small service providers also lack an online platform to promote their services.
This application solves that problem by providing a centralized platform where users can search, filter, and book local service providers easily.
- User Signup & Login
- Search service providers
- Filter services by category and location
- Sort providers by ratings
- View provider profiles
- Book services
- Leave reviews
- Create service profile
- Add services
- Update service details
- Manage bookings
- Update availability
- ReactJS
- Tailwind CSS
- React Router
- Context API / Redux
- Node.js
- Express.js
- MongoDB
- Home Page
- Login Page
- Signup Page
- Dashboard
- Profile Page
Implemented using React Router.
useState– manage component stateuseEffect– API calls and side effectsuseRef– manage input focususeContext– global state sharing
Used Context API / Redux for managing:
- Authentication state
- User information
- Global app data
Includes:
- Signup Page
- Login Page
- Password validation
- LocalStorage authentication
- Protected routes
- Light Mode
- Dark Mode
- Toggle button
- Theme preference stored in LocalStorage
Users can:
- Search service providers
- Filter by category
- Sort by ratings or price
Debouncing is implemented in:
- Search bar
- API calls triggered by typing
This improves performance by reducing unnecessary API requests.
Pagination is implemented for:
- Service provider listings
- Reviews
Uses MongoDB limit and skip.
Full CRUD operations supported:
Create → Add service
Read → View services
Update → Edit services
Delete → Remove services
REST APIs built using Node.js + Express.js
Features include:
- Proper error handling
- Loading states
- Structured API responses
Forms include:
- Input validation
- Error messages
- Controlled components
- Proper user feedback
Fully responsive UI using Tailwind CSS
Supports:
- Desktop
- Tablet
- Mobile devices
Backend:
- Try–catch blocks
- Proper error responses
Frontend:
- Error messages
- User-friendly notifications