Type 1
Type 1
Date: / /
Capstone Project-Phase I
LITERATURE REVIEW (CREDITS: 10-MARKS)
B. Tech. 7th Semester (July-December 2024)
Lessons Learned: From studying React, I learned how to build reusable UI components, which
helps in creating a modular and maintainable structure for the project. I gained insights into
managing component state and side effects effectively using React hooks. React Router was
particularly useful for optimized page navigation. Handling complex state updates and avoiding
prop drilling were key takeaways.
Modules Used: In the project, React was utilized extensively. The Hotel Listing Module benefits
from reusable components like cards, lists, and filters to display hotel details. The Booking &
Checkout Module uses React hooks to manage user input and booking state. React Router aids in
dynamic routing for the Search and Filter Module based on user search input and preferences.
Additionally, the Review & Rating Module leverages dynamic rendering of user reviews and
ratings.
Topics Studied: Centralized state management, Redux actions, reducers, middleware, Redux
Thunk for handling asynchronous logic.
Lessons Learned: Through this source, I learned how to efficiently manage global state across
multiple components. Redux simplifies state transitions with actions and reducers and allows for
handling asynchronous data fetching and updates through middleware like Redux Thunk.
Modules Used: Redux was applied in several modules of the project. The Hotel Listing Module
uses Redux to manage filter criteria such as price, rating, and location globally, facilitating state
sharing across components. In the Booking & Checkout Module, Redux stores user-selected
booking details to maintain data consistency across pages. The Admin Dashboard Module
benefits from centralized state management for hotel listings and booking records. The Search
and Filter Module relies on Redux for managing search criteria and applying filters across
components.
3. Next.js Documentation (https://nextjs.org)
Topics Studied: Server-Side Rendering (SSR) and Static Site Generation (SSG), Dynamic
routing with Next.js, API routes in Next.js for backend operations.
Lessons Learned: From studying Next.js, I learned about enhancing SEO and improving page
load performance through SSR. Dynamic routing with Next.js simplifies handling user and hotel
pages, while built-in API routes reduce the need for an external server.
Modules Used: In the project, Next.js is utilized in various modules. The Hotel Listing Module
benefits from SSR for faster initial load times and better SEO. Dynamic routing is used in the
Booking & Checkout Module to handle user-specific bookings and confirmation pages. Secure
API calls are managed through Next.js API routes in the User Authentication Module, facilitating
user login and registration. Additionally, SSR is used in the Admin Dashboard Module to fetch
and display admin data quickly.
Lessons Learned: I learned to improve code readability and maintainability using modern
JavaScript syntax and handle asynchronous operations efficiently with promises and async/await.
Mastery of DOM events and updates was also achieved.
Modules Used: These JavaScript concepts are applied in various modules. The Search and Filter
Module utilizes async calls to fetch filtered data from the server. Promises are used in the
Booking & Checkout Module to handle API responses. The Notification System Module uses
JavaScript event handling to manage user-triggered events, such as booking confirmations.
5. Responsive Web Design (Tailwind CSS, https://tailwindcss.com)
Topics Studied: Mobile-first design principles, Utility-first CSS framework for rapid styling,
Media queries for responsive layouts.
Lessons Learned: I learned how to create mobile-responsive layouts without custom media
queries using Tailwind's utility classes, optimizing development time with a utility-first approach.
The enhanced user experience across devices was a key takeaway.
Modules Used: Tailwind CSS is used in several modules. The Hotel Listing Module incorporates
responsive layouts for displaying hotels on various devices, dynamically adjusting grid sizes. The
Booking & Checkout Module ensures that the booking form is fully responsive, adapting to
mobile and tablet views. The Admin Dashboard Module is designed to be accessible across
different screen sizes using a responsive grid system. The Review & Rating Module implements
responsive star ratings and review sections that adjust to mobile screens.
Topics Studied: API development using Express.js, MongoDB database integration and schema
design, CRUD operations and Mongoose for data validation.
Lessons Learned: I learned to design efficient REST APIs for managing booking, hotel, and
user data and to use MongoDB for scalable storage and Mongoose for schema validation.
Proficiency in handling CRUD operations and secure API routes was developed.
Modules Used: Express.js and MongoDB are applied in the project as follows. The Booking &
Checkout Module uses Express.js to handle API requests for new bookings and confirmations.
The Admin Dashboard Module utilizes CRUD operations with MongoDB for managing hotel
listings. User data and authentication tokens are securely managed in MongoDB for the User
Authentication Module. Real-time notifications are handled using Express.js and MongoDB in
the Notification System Module.
7. Stripe API Documentation (https://stripe.com/docs)
Topics Studied: Payment gateway integration, Secure transactions and data encryption,
Handling refunds and payment confirmation.
Lessons Learned: I learned to integrate a reliable payment gateway for online bookings, handle
sensitive payment information securely using Stripe's API, and manage post-payment activities
such as confirmation emails and booking status updates.
Modules Used: Stripe API integration is crucial in the project. The Booking & Checkout Module
implements the Stripe API for processing payments securely during the booking checkout
process. The Admin Dashboard Module uses Stripe to manage payments, including handling
refunds and transaction records.