Jk estate website project reports final
Jk estate website project reports final
Internship Report
A PROJECT REPORT
Submitted by
Parul Institute of
Technology, Limbda
CERTIFICATE
This is to certify that the project report submitted along with the project entitled Jk estate
website using MERN and tailwind CSS has been carried out by Rahul Raslal Mandal under
Science & Engineering (CSE), 8th Semester of Parul University, Vadodara during the AY 2023-
24.
DECLARATION
We hereby declare that the Internship / Project report submitted along with the
Internship / Project entitled JK Estate website using MERN and tailwind CSS
Sweety Patel and that no part of this report has been directly copied from any
students’ reports or taken from any other source, without providing due reference.
I
ACKNOWLEDGEMENT
Behind any major work undertaken by an individual there lies the contribution of the people who
helped him to cross all the hurdles to achieve his goal. It gives us the immense pleasure to express
our sense of sincere gratitude towards our respected guide Assis.Prof. Sweety Patel outstanding,
constant source of encouragement and momentum that any intricacy becomes simple. We gained
a lot of invaluable guidance and prompt suggestions from him during entire project work. We
will be indebted of him forever and We take pride to work under him. We also express our deep
sense of regards and thanks to Prof. Sumitra Menaria, Assistant Professor and Head of
CSE/IT/ICT Engineering Department. We feel very privileged to have had their precious advices,
II
ABSTRACT
This report documents the development process and outcomes of the JK Estate Website project
undertaken during an internship at 1Stop.ai.
The project involved the creation of a dynamic real estate website utilizing the MERN
(MongoDB, Express.js, React.js, Node.js) stack and Tailwind CSS framework. The primary
objective was to build a user-friendly platform that allows users to browse, search,Create there
Listing and interact with real estate listings efficiently.
The website aimed to offer comprehensive features including property listings, search filters,
user authentication, and administrative functionalities. Throughout the internship, various stages
of development were executed, encompassing requirements gathering, system design,
implementation, testing, and deployment. Key challenges encountered during the process
included ensuring seamless integration of the MERN stack components, optimizing user interface
design for enhanced user experience, and implementing robust security measures.
The project leveraged Tailwind CSS for its utility-first approach to styling, facilitating rapid
prototyping and consistent design patterns across the website. Additionally, MongoDB served as
the database backend, while Express.js and Node.js powered the server-side logic and API
endpoints, with React.js handling the frontend user interface.
The report provides a detailed overview of the project's architecture, design decisions,
implementation strategies, challenges faced, and solutions devised. Furthermore, it discusses the
lessons learned, insights gained, and recommendations for future enhancements or iterations of
the JK Estate Website
. Overall, the internship experience offered valuable hands-on learning opportunities in full-stack
web development, collaboration within a professional team environment, and the application of
modern technologies to real-world projects. The JK Estate Website stands as a testament to the
skills, dedication, and creativity cultivated during the internship period at 1Stop.ai.
III
List of Figures
Fig 1.1 Use case Diagram for User ............................................................................. 20
IV
List of Tables
Table 1.1 Abbreviations................................................................................................. 1
V
ABBREVIATIONS
Table 1.1
VI
Table of Contents
DECLARATION ............................................................................................................ i
Acknowledgement .........................................................................................................ii
Abstract ........................................................................................................................ iii
List of Figures ............................................................................................................... iv
List of Tables ................................................................................................................. v
List of Abbreviations..................................................................................................... vi
Table of Contents .........................................................................................................vii
Chapter 1 OVERVIEW OF THE COMPANY ......................................................... 1
1.1 History .................................................................................................................. 1
1.2 Scope of work ....................................................................................................... 1
1.3 Capacity of plant................................................................................................... 1
Chapter 2 OVERVIEW OF THE DEPARTMENT ................................................. 2
2.1 Departments Overview ......................................................................................... 2
2.2 Technical specifications ....................................................................................... 2
2.3 Schematic layout .................................................................................................. 2
2.4 Production Stages ................................................................................................. 3
Chapter 3 INTRODUCTION TO PROJECT AND PROJECT
MANAGEMENT. ....................................................................................................... 4
3.1 Project Summary .................................................................................................. 4
3.2 Purpose ................................................................................................................. 4
3.3 Objective............................................................................................................... 5
3.4 Scope .................................................................................................................... 6
3.5 Technology and Literature Review ...................................................................... 7
3.6 Project Planning ................................................................................................. 10
3.6.1 Project Development Approach and Justification ....................................... 10
3.6.2 Project Effort and Time, Cost Estimation ................................................... 10
3.6.3 Roles and Responsibilities ........................................................................... 10
3.6.4 Group Dependencies.................................................................................... 10
Chapter 4 SYSTEM ANALYSIS. ............................................................................. 12
4.1 Study of Current System .................................................................................... 12
4.2 Problem and Weaknesses of Current System .................................................... 12
4.3 Requirements of New System .............................................................................. 12
VII
4.4 System Feasibility ................................................................................................ 12
4.5 Process in New Proposed System ........................................................................ 13
4.6 Features of New Proposed System....................................................................... 13
4.7 List Main Modules / Components of NewProposed System ............................... 13
4.8 Selection of Hardware / Software / Methodology / Techniques / Approaches and
Justification .................................................................................................................. 14
Chapter 7 TESTING.................................................................................................... 38
7.1 Testing Plan / Strategy ......................................................................................... 38
7.2 Test Results and Analysis .................................................................................... 39
7.2.3 Test Cases (test ID, test condition, expected output, actual output,
remark) ............................................................................................................... 39
References ..................................................................................................................... 43
Appendix ..................................................................................................................... 44
VIII
200305105120 OVERVIEW OF COMPANY
1.1 HISTORY:
The 1Stop.io is company was founded in 2021 with the vision of providing innovative
and high-quality digital solutions to clients worldwide. Over the years, it has established
itself as a leader in the industry, delivering cutting-edge websites, web applications, and
digital experiences.
Development Team: Responsible for coding, programming, and building websites and
applications.
Design Team: Handles the visual aspects of projects, including layout, graphics, and user
interface design.
Project Management: Coordinates project timelines, resources, and client communication.
Quality Assurance: Ensures the functionality, usability, and performance of deliverables
meet quality standards.
Sales and Marketing: Engages with clients, generates leads, and promotes the company's
services.
Administrative and Support Staff: Manages day-to-day operations, HR functions, and
administrative tasks.
The company operates in a digital environment and does not have physical manufacturing
plants. However, it has a state-of-the-art office equipped with the latest technology and
tools required for web development projects.
1
Parul University PIT
200305105120 OVERVIEW OF DEPARTMENT
Design Department: Focuses on creating visually appealing and user-friendly designs for
websites and digital products.
Sales and Marketing Department: Engages with clients, generates leads, and promotes
the company's services to drive business growth.
Project Management Department: Utilizes project management tools such as Jira, Asana,
or Trello.
Quality Assurance Department: Utilizes testing tools such as Selenium, Jest, or Mocha.
The layout depicts the workflow and sequence of operations involved in the development
process, starting from client onboarding to project delivery and support.
2
Parul University PIT
200305105120 OVERVIEW OF DEPARTMENT
3
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
3.2 PURPOSE
Facilitate Property Transactions: The primary purpose of the "Jk Estate" project is to
facilitate property transactions by providing a user-friendly platform for property owners
to list their properties for rent or sale, and for potential tenants or buyers to search and
discover available properties.
4
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
Enhance User Experience: The project aims to enhance the overall user experience by
offering intuitive interfaces, streamlined workflows, and advanced search functionalities.
By prioritizing user-centric design principles, the platform seeks to simplify the property
management process for all stakeholders involved.
Ensure Security and Privacy: Another crucial purpose of the project is to ensure the
security and privacy of user data and transactions. Robust authentication mechanisms,
encryption protocols, and data privacy measures are implemented to safeguard sensitive
information and foster trust among users.
3.3 OBJECTIVE
Develop a User-Friendly Platform: The primary objective is to develop a user-friendly
web platform that caters to the needs of property owners, tenants, and buyers. The platform
should offer intuitive interfaces and seamless navigation to enhance user experience.
Enable Property Listing Creation: Implement functionality that allows property owners
to create and manage listings for properties available for rent or sale. This includes features
for adding property details, uploading images, specifying rental/sale terms, and setting
pricing.
Implement Advanced Search Functionality: Enable users to search for properties based
on various criteria such as location, price range, property type, amenities, and more. The
search functionality should be robust, intuitive, and efficient.
5
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
unauthorized access. This includes features for user registration, login, logout, and
password reset.
Facilitate Property Management: Provide property owners with tools and functionalities to
manage their listings effectively. This includes options for editing property details,
responding to inquiries, tracking listing performance, and marking properties as
rented/sold.
Ensure Data Privacy and Security: Implement robust data privacy and security measures
to protect sensitive user information and transactions. This includes encryption of user data,
adherence to privacy regulations, and regular security audits.
Optimize Performance and Scalability: Ensure that the platform is designed for optimal
performance and scalability to accommodate growth and increasing user demands. This
includes optimizing code, utilizing efficient database queries, and implementing caching
mechanisms.
3.4 SCOPE
1. What it Can Do:
Property Listing Creation: Users can create and manage property listings for properties
available for rent or sale. They can input property details, upload images, specify rental/sale
terms, and set pricing.
Secure User Authentication: Users can securely register, log in, and log out of their
accounts using JWT authentication. Password reset functionality is also provided for added
security.
6
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
Data Privacy and Security: Robust data privacy and security measures are implemented
to protect user information and transactions. Encryption of user data and adherence to
privacy regulations ensure data security.
1. Technology
MongoDB: Document-oriented NoSQL database used for storing property listings, user
data, and other application data.
We had use MongoDb to store user auth data and user properties Listing data with the help
of Mongoose schema of User and Listing Model made with mongoose .
Express.js: Web application framework for building robust APIs and handling HTTP
requests/responses it is use in making User SignUp, SignIn ,Listing API and User , Listing
Model.
React.js: Frontend JavaScript library for building user interfaces and dynamic single-page
applications (SPAs) it is used to make frontend UI.
Node.js: JavaScript runtime environment for executing server-side code and building
scalable, event-driven applications.
Tailwind CSS: Utility-first CSS framework used for styling the user interface components
7
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
Redux Toolkit: State management library for managing application state and handling
complex data flows in React.js applications. Redux Toolkit simplifies state management
and ensures predictable updates by offering streamlined APIs, enforcing immutability, and
providing built-in support for asynchronous logic.
Its createSlice function organizes state logic efficiently, while Redux Thunks facilitate
asynchronous actions. Integration with Redux DevTools aids in debugging, enhancing
overall development efficiency.
Mongoose:
Mongoose is a Node.js library that simplifies MongoDB interactions by providing a
schema-based solution for data modeling. It offers features such as schema definition,
model creation, data validation, query building, middleware support, population, and
plugin extensibility, streamlining MongoDB integration in Node.js applications.
We had used Mongoose to connect our Node.js Sever to MongoDB Database and also use
in Making Mongoose schema of User Models and properties Listing Models .
JSON Web Tokens (JWT): Authentication mechanism used for securely transmitting
authentication credentials between the client and server.
Cookie Parser: Middleware for parsing HTTP cookies in Node.js applications. Discuss its
role in parsing and handling JWT cookies for user authentication and session management.
1.4 Vite:
Vite: Frontend build tool used for fast and efficient development and production builds of
React.js applications. Explain how Vite optimizes the build process by leveraging native
ES Module support and hot module replacement (HMR).
8
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
2.Literature Review:
Real estate management systems (REMS) have become integral to modern property
transactions, leveraging technology to streamline processes.
These systems offer centralized platforms for listing, searching, buying, selling, renting,
and leasing properties, enhancing efficiency and user experiences.
The adoption of REMS is essential in today's dynamic real estate landscape to stay
competitive and capitalize on emerging opportunities.
Analysis of popular REMS platforms reveals a diverse range of features and functionalities.
Platforms such as Zillow, Realtor.com, and Trulia offer comprehensive property listings,
search filters, and interactive maps.
Strengths include user-friendly interfaces, extensive property databases, and robust search
capabilities, while challenges may include data accuracy and user trust.
Emerging technologies such as artificial intelligence (AI), virtual reality (VR), and
blockchain are reshaping the real estate industry.
AI-driven property recommendations enhance personalized experiences, while VR enables
virtual property tours, improving remote viewing capabilities.
Blockchain facilitates secure and transparent property transactions, reducing fraud and
increasing trust among stakeholders.
Compliance with regulatory standards and legal requirements is crucial in real estate
management.
Considerations include data privacy regulations, property laws, licensing requirements, and
consumer protection measures.
Non-compliance can lead to legal liabilities, financial penalties, and damage to reputation,
emphasizing the importance of adherence to regulations.
9
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
Adopt an Agile development approach to allow for flexibility and adaptability throughout
the project lifecycle.
Regular sprints and iterations will enable continuous feedback and refinement of features,
ensuring alignment with stakeholder requirements.
Justification: Agile methodologies promote collaboration, transparency, and
responsiveness, essential for delivering a successful and user-centric product like "JK
Estate."
Estimate project effort and time based on the scope of work, resource availability, and
complexity of features.
Break down tasks into smaller increments and assign time estimates to each, considering
potential risks and dependencies.
Cost estimation involves calculating expenses related to development resources, tools,
infrastructure, and potential contingencies.
Utilize project management tools and techniques such as Work Breakdown Structures
(WBS) and Gantt charts for accurate planning and tracking.
Define clear roles and responsibilities for team members, including developers, designers,
testers, and project managers.
Ensure alignment between roles and project objectives, fostering collaboration and
accountability.
Establish communication channels and protocols to facilitate effective coordination and
information sharing among team members.
3.6.4.Group Dependencies:
1. Backend Dependencies
bcryptjs: 2.4.3
cookie-parser: 1.4.6
dotenv: 16.4.5
express: 4.18.3
jsonwebtoken: 9.0.2
mongoose: 8.2.0
nodemon: 3.1.0
10
Parul University PIT
200305105120 INTRODUCTION TO PROJECT
2. FrontEnd Dependencies
@reduxjs/toolkit: ^2.2.1
@tailwindcss/line-clamp: ^0.4.4
collage-project-estate-website: file:..
D: ^1.0.0
firebase: ^10.8.1
react: ^18.2.0
react-dom: ^18.2.0
react-redux: ^9.1.0
react-router-dom: ^6.22.2
redux-persist: ^6.0.0
swiper: ^11.0.7
Dev Dependencies:
@types/react: ^18.2.56
@types/react-dom: ^18.2.19
@vitejs/plugin-react-swc: ^3.5.0
autoprefixer: ^10.4.18
eslint: ^8.56.0
eslint-plugin-react: ^7.33.2
eslint-plugin-react-hooks: ^4.6.0
eslint-plugin-react-refresh: ^0.4.5
postcss: ^8.4.35
tailwindcss: ^3.4.1
vite: ^5.1.4
11
Parul University PIT
200305105120 SYSTEM ANALYSIS
12
Parul University PIT
200305105120 SYSTEM ANALYSIS
The implementation can be completed within the given cost and schedule
constraints.
4.4.3 Integration Capability:
The system can be integrated with other systems, such as JWT cookie parser
for authentication, to provide a seamless user experience.
13
Parul University PIT
200305105120 SYSTEM ANALYSIS
14
Parul University PIT
200305105120 SYSTEM DESIGN
2. Database Selection:
MongoDB is chosen as the database for its flexibility and scalability.
3. Integration with Express.js and Mongoose:
Utilizing Express.js framework to set up routes and handle HTTP requests
and responses.
Integrating Mongoose with Node.js and Express.js to connect to the
MongoDB database.
4. Schema Modeling:
Using Mongoose's schema function to define User Schema and Property
Listing Schema.
These schemas define the structure and properties of user data and property
listings.
5. API Development:
Developing APIs to facilitate communication between the frontend UI and
the MongoDB database.
Implementing CRUD (Create, Read, Update, Delete) operations for
handling user sign-up, login, listing creation, and property management.
15
Parul University PIT
200305105120 SYSTEM DESIGN
Creating endpoints for POST, GET, and DELETE requests to interact with
user data and property listings.
16
Parul University PIT
200305105120 SYSTEM DESIGN
dynamically.
8. Firebase Integration:
Utilize Firebase for storing profile images and other assets, ensuring
efficient data storage and retrieval.
Implement Firebase's Cloud Firestore for database management and real-
time data synchronization.
17
Parul University PIT
200305105120 SYSTEM DESIGN
2. Frontend development,
React
Redux
Firebase server for image Storage
Ract rounter dom
3. Database management.
Mongodb
Implement a comprehensive testing strategy that includes unit testing, integration testing,
and end-to-end testing.
Use automated testing tools and frameworks to streamline the testing process and ensure
the reliability and quality of the system.
Design the system with scalability in mind to accommodate a growing user base and
increasing data volume.
Implement performance optimization techniques, such as caching, indexing, and load
balancing, to enhance system responsiveness and efficiency.
18
Parul University PIT
200305105120 SYSTEM DESIGN
5.1.10 Documentatio:
Install dependencies:
npm install
Project:- https://github.com/rahulmandal9825/Jk-Estate-website-full-stack
19
Parul University PIT
200305105120 SYSTEM DESIGN
A use case diagram is a diagram which consists of set of usecases and actors
enclosed bysystem boundary, and association between usecases
and actors. Usecases diagramespecially important in organizing, modeling
the behavior of the system.Use case is a set of scenarios tied together by a
common user goal. A scenario is asequence of steps describing the interaction
between a user and system.
Fig.1.1
20
Parul University PIT
200305105120 SYSTEM DESIGN
Fig.1.2
21
Parul University PIT
200305105120 SYSTEM DESIGN
Block Diagram:
Fig.1.3
22
Parul University PIT
200305105120 SYSTEM DESIGN
USER PROPERTY
BE SEARCHED SEARCHING SEARCH RESULT
PROCESS
USER USERNAME,
EMAIL, PASSWORD ACCOUNT DATA SAVED IN MONGODB
CREATION
PROCESS
PROPERTY LISTING
DETAILS CRATE DATA SEAVED IN MONGODB
LISTING
PROCESS
23
Parul University PIT
200305105120 IMPLEMENTATION
6.0 IMPLEMENTATION
Platform:
Web Development Framework: MERN Stack (MongoDB, Express.js, React.js,
Node.js)
MongoDB: NoSQL database used for storing user authentication data and
property listings.
Express.js: Backend framework for building RESTful APIs and handling
server-side logic.
React.js: Frontend library for building interactive user interfaces.
Node.js: JavaScript runtime environment for running server-side code.
Environment:
Development Environment:
Operating System: Compatible with Windows, macOS, and Linux.
Code Editor: Visual Studio Code, Sublime Text, or any text editor of choice.
Package Manager: npm (Node Package Manager) or yarn for managing
dependencies.
Version Control: Git for version control and collaboration.
Deployment Environment:
Web Hosting Service: Platform-as-a-Service (PaaS) providers such as
Heroku, Netlify, or Vercel.
Cloud Infrastructure: Infrastructure-as-a-Service (IaaS) providers such as
Amazon Web Services (AWS) or Microsoft Azure for scalable and reliable
hosting.
Database Hosting: MongoDB Atlas for cloud-based MongoDB database
hosting.
Continuous Integration / Continuous Deployment (CI/CD): Integration with
CI/CD pipelines for automated testing and deployment.
24
Parul University PIT
200305105120 IMPLEMENTATION
6.2.3. FUNCTIONALITY
User login page where User can write there Email and password to login.
Sign up page where User can Sign up with username, email,and password
Profile page where User can Show there Listing and options for update
account,Delete Account , Create Listing , logout
Create Lisiting page have form to submit where user can write detail of the
properties they want to List
Update account page help us to update our username profileimage and password
Delete Account function help to delete our Account
Search listings by keyword, city, state, bedrooms and price (Homepage &search
page)
Listing page is Below
Listing page have Contact Landlord
25
Parul University PIT
200305105120 IMPLEMENTATION
Title
Address
Description
Rent or Sell or Both
Rent price per Month
Sell price
Number of Bedrooms
Number of Bathrooms
Furniture
Parking
Listing owner name img
Properties image
Google maps
Chat Model with user and Listing owner
26
Parul University PIT
200305105120 IMPLEMENTATION
1. Home page
Fig. 2.1
Fig. 2.2
27
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.3
2. Search page
Fig. 2.4
28
Parul University PIT
200305105120 IMPLEMENTATION
3.Profile.
Fig. 2.5
Fig. 2.6
29
Parul University PIT
200305105120 IMPLEMENTATION
5. About us page.
Fig. 2.7
Fig. 2.9
30
Parul University PIT
200305105120 IMPLEMENTATION
7.listing page.
Fig. 2.8
8. Footer
Fig. 2.10
31
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.11
32
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.12
33
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.13
34
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.14
35
Parul University PIT
200305105120 IMPLEMENTATION
13 Sign In
Fig. 2.15
14. Sign up
Fig. 2.16
36
Parul University PIT
200305105120 IMPLEMENTATION
Fig. 2.17
15. code
Fig. 2.18
37
Parul University PIT
200305105120 TESTING
7.0 TESTING
Test the entire application flow from user interaction to database interaction.
Use Cypress or Selenium for E2E tests.
Create test scripts to simulate user actions and verify expected outcomes.
38
Parul University PIT
200305105120 TESTING
Test error handling mechanisms to ensure graceful degradation and recovery from errors.
Verify that appropriate error messages are displayed to users for common error scenarios.
39
Parul University PIT
200305105120 TESTING
40
Parul University PIT
200305105120 CONCLUSION
The Jk Estate project demonstrates strong viability in the real estate domain,
offering essential features for property listing and management.
The use of MERN stack technology along with Tailwind CSS, Redux Toolkit, JWT
cookie parser, and Vite provides a robust foundation for building a scalable and
responsive web application.
The integration of user-friendly interfaces, search functionalities, and profile
management options enhances the usability and utility of the application.
Issue: Users were being logged out of the website every time they refreshed the
page, causing inconvenience and disrupting the user experience.
Solution: Implemented Redux Persistence to store user authentication data in the
browser's local storage or session storage. This ensured that user sessions were
maintained across page refreshes, allowing users to stay logged in and seamlessly
navigate the website without interruptions.
Encountered Problem 2: Restricted Access to Profile Page
Issue: It was necessary to restrict access to certain pages, such as the profile page,
only to authenticated users.
Solution: Implemented private routes using React Router Dom's dependency.
Private routes allowed for conditional rendering of components based on the user's
authentication status. Users attempting to access restricted pages without being
authenticated were redirected to the login page, ensuring the security and integrity
of the application.
41
Parul University PIT
200305105120 CONCLUSION
Despite its strengths, the Jk Estate project may have certain limitations, such as
scalability issues under high load conditions, limited feature set compared to
established real estate platforms, or potential security vulnerabilities.
Future enhancements could include implementing advanced search functionalities,
integrating chat or messaging features for user communication, enhancing security
measures, and optimizing performance for improved user experience.
42
Parul University PIT
200305105120 REFERENCES
9.0 REFERENCES
3. Adam Wathan, Jonathan Reinink, David Hemphill, and Steve Schoger (2024)
Tailwind CSS Documentation. https://tailwindcss.com/docs
10. National Association of Realtors (NAR) (Various dates) Real Estate Management
Best Practices. https://www.nar.realtor/research-and-statistics/research-
reports/nar-research
43
Parul University PIT