How surendra-bhujel/nepalhikehub works
NepalHikeHub is a Java servlet/JSP platform for discovering treks, managing accounts and bookings, taking payments, and collecting reviews, with administrative tools for users, treks, and bookings. The user journey runs from public trek browsing and search through booking and payment, then post-trek reviews; registration and sign-in gate protected actions. The graph includes the sampled search, account, trek-management, and review calls. Booking/payment and several admin flows are README/tree-supported capabilities, but their detailed wiring was not sampled, so those links are left out.
Main entry points: DBConnection.java DB connection · UserService.java User service · views JSP pages · SignUpServlet.java Registration
Components 24
Web experience
- JSP pages
src/main/webapp/views
Accounts
- Registration
src/main/java/com/nepalhikehub/controller/auth/SignUpServlet.java - User service
src/main/java/com/nepalhikehub/service/UserService.java - User access
src/main/java/com/nepalhikehub/dao/UserDAO.java - Input validation
src/main/java/com/nepalhikehub/util/ValidationUtil.java - Password hashing
src/main/java/com/nepalhikehub/util/PasswordEncryption.java - Sign-in / out
src/main/java/com/nepalhikehub/controller/auth - Access control
src/main/java/com/nepalhikehub/controller/filter/AuthenticationFilter.java
Trek operations
- Trek search
src/main/java/com/nepalhikehub/controller/user/SearchServlet.java - Trek service
src/main/java/com/nepalhikehub/service/TrekService.java - Trek access
src/main/java/com/nepalhikehub/dao/TrekDAO.java - Trek administration
src/main/java/com/nepalhikehub/controller/admin/ManageTreksServlet.java
Booking and feedback
- Booking workflow
src/main/java/com/nepalhikehub/controller/user/BookingServlet.java - Booking access
src/main/java/com/nepalhikehub/dao/BookingDAO.java - Payment workflow
src/main/java/com/nepalhikehub/controller/user/PaymentServlet.java - Payment service
src/main/java/com/nepalhikehub/service/PaymentService.java - Payment access
src/main/java/com/nepalhikehub/dao/PaymentDAO.java - Review workflow
src/main/java/com/nepalhikehub/controller/user/ReviewServlet.java - Review service
src/main/java/com/nepalhikehub/service/ReviewService.java - Review access
src/main/java/com/nepalhikehub/dao/ReviewDAO.java - Admin operations
src/main/java/com/nepalhikehub/controller/admin
Other components
- Visitor / trekker
- MySQL database
sql/Entities_and_Attributes.sql - DB connection
src/main/java/com/nepalhikehub/util/DBConnection.java
Connections 26
- Visitor / trekker → JSP pages: browses
- Visitor / trekker → Registration: registers
- Registration → JSP pages: forwards
- Registration → User service: registers user
- User service → Input validation: validates
- User service → Password hashing: hashes password
- User service → User access: checks / stores
- Visitor / trekker → Sign-in / out: signs in
- Access control → JSP pages: protects views
- Visitor / trekker → Trek search: searches treks
- Trek search → Trek service: searches / filters
- Trek search → JSP pages: forwards results
- Trek service → Trek access: queries / updates
- Visitor / trekker → Booking workflow: requests booking
- Visitor / trekker → Payment workflow: submits payment
- Visitor / trekker → Review workflow: submits review
- Review workflow → Review service: adds / deletes
- Review service → Review access: validates / queries
- Visitor / trekker → Trek administration: administers treks
- Trek administration → Trek service: manages treks
- DB connection → MySQL database: connects
- User access → DB connection: uses connection
- Trek access → DB connection: uses connection
- Review access → DB connection: uses connection
- Booking access → DB connection: uses connection
- Payment access → DB connection: uses connection