ServeEase is a Java web application for booking home services (cleaning, plumbing, electrical, AC repair, etc.) with separate user and admin modules.
This project appears to be developed as an Eclipse Dynamic Web Project using JSP/Servlets and MySQL.
- BCA Final Year Project
- Domain: Home Service Booking Platform
- Architecture: JSP + Servlets + DAO + MySQL
For Shivaji University, Kolhapur
| Sr. No. | Project Member |
|---|---|
| 1 | Mr. Avishkar Tanaji Deshmukh |
| 2 | Mr. Rushikesh Rajaram Mahadik |
| 3 | Mr. Bhavesh Vishwas Shinde |
- College: SOU. SHOBHAKAKI BABAR KANYA MAHAVIDYALAYA, VITA (B.C.A College)
- Course: Bachelor of Computer Application
- Semester: Semester VI
- Academic Year: 2025 - 2026
- User registration and login
- Browse categories and services
- View service details and providers
- Book services
- View booking history and booking details
- Payment flow pages (gateway, processing, success)
- Submit reviews
- Contact support
- Profile management and password change
- Admin login/logout
- Dashboard metrics and recent activity
- Manage users
- Manage categories
- Manage services
- Manage providers
- Manage schedules
- Manage bookings
- Manage reviews
- Reports and CSV export
- Java 21
- Jakarta Servlet/JSP (Web facet 6.0)
- Apache Tomcat 10.1
- MySQL (schema and demo SQL included)
- JDBC (
mysql-connector-j-9.3.0.jar) - Frontend: JSP, HTML, CSS, JavaScript
ServeEase/
+-- src/main/java/com/serveease/controller/
| +-- admin/ # Admin servlets
| +-- user/ # User servlets
| +-- dao/admin/ # Admin DAOs
| +-- dao/user/ # User DAOs
| +-- model/ # Entity/model classes
| +-- util/ # DB/password utilities
+-- src/main/webapp/
| +-- admin/ # Admin JSP pages
| +-- user/ # User JSP pages
| +-- assets/css/ # Styles
| +-- WEB-INF/ # web.xml + libs
+-- database/
| +-- serveease.sql # Full schema + baseline data
| +-- demo_data.sql # Extra demo records
+-- build/classes/ # Compiled classes
- Create database:
CREATE DATABASE serveease;- Import base schema:
database/serveease.sql
- (Optional) Import extended sample data:
database/demo_data.sql
Database settings are in:
src/main/java/com/serveease/controller/util/DBConnection.java
Default values currently:
- Host:
localhost - Port:
3306 - DB:
serveease - User:
root - Password: (empty)
Update these values based on your local MySQL setup.
- Open Eclipse IDE (Enterprise Java / Web).
- Import existing project from:
C:\Users\Perfect\eclipse-workspace\ServeEase
- Configure server runtime:
- Apache Tomcat v10.1
- Add project to Tomcat server.
- Start Tomcat.
- Open in browser:
http://localhost:8080/ServeEase/user/index.jsp
- User home:
/ServeEase/user/index.jsp - User login:
/ServeEase/user/login.jsp - User register:
/ServeEase/user/register.jsp - Admin login:
/ServeEase/admin/login.jsp - Admin dashboard:
/ServeEase/admin/dashboard.jsp
- Admin:
- Username:
admin - Password:
admin123
- Username:
- User:
- Email:
r@gmail.com - Password: (hashed in DB; create a fresh user via Register page for login testing)
- Email:
- Good modular separation (
controller,dao,model,util) - Clear user/admin feature split
- Relational database design with keys and constraints
- Includes demo data and report export
- Uses password hashing utility for user passwords
ExportReportServletusesjavax.servlet.*imports while project is configured for Jakarta/Tomcat 10 (jakarta.servlet.*).- Some report SQL in export servlet references columns like
booking_timeandlocation, while current schema mainly usesbooking_dateandaddress. - Admin credential in SQL is plain text (
admin123), not hashed. - DB credentials are hardcoded in source.
- No build tool (
pom.xml/build.gradle) or automated test suite present.
- Standardize all servlets to
jakarta.servlet.*. - Align report queries with latest schema.
- Hash admin passwords similarly to user passwords.
- Move DB config to environment variables or a properties file.
- Add Maven/Gradle for reproducible builds.
- Add unit/integration tests for DAO and servlet flows.
- Add role-based filters/interceptors for stronger access control.
- The project already includes compiled classes under
build/classes. - For clean evaluation/demo, use a fresh database import before presentation.