Realist Platform is a MERN (MongoDB, Express, React, Node.js) application with AWS (Amazon Web Services) integration, Google Maps API and advanced CRUD operations. It is a real estate marketplace where users can buy, sell or rent houses and lands.
- MongoDB: a document-based open source database
- Express: a web application framework for Node.js
- React: a JavaScript library for building user interfaces
- Node.js: a JavaScript runtime built on Chrome's V8 JavaScript engine
- AWS (Amazon Web Services): a cloud-based platform for building, deploying and managing applications and services
- Google Maps API: a set of web services that allow developers to integrate Google Maps into their applications
- Complete login registration system with email confirmation, forgot and reset passwords
- JWT based authentication, authorization with refresh token
- AWS services such as IAM (Identity and access management) S3 (Simple storage service) and SES (Simple email service)
- Google maps and places API for displaying maps and address dropdown auto-complete
- Geo-location based search based on lattitude and longitude
- Multiple image uploads
- Advance CRUD with MongoDB using mongoose ODM (Object document mapping)
- JWT based authentication, authorization and route protection (both server and client)
- State management with React Context
- Real estate listing for buying, selling and renting house and lands
- Contact emails for buyers to communicate with sellers (Real estate agents or home owners)
- Ads (Real estate listings) like and unlike feature
- User wishlist, enquired properties list and created Ads management (create, read, update and delete)
- Advance searching with multiple search combinations (buy, sell, rent, price range, nearby location etc)
- User profile update and public profile views
- Load more pagination feature
- User dashboard (for both buyers and sellers)
To get started with the project, you'll need to have the following installed on your machine:
- Node.js
- MongoDB
- Clone the repository:
git clone https://github.com/ymw0331/real-estate-marketplace-mern-aws-app.git
- Install dependencies:
cd real-estate-marketplace-mern-aws-app
cd client
npm install
cd server
npm install
- Create a .env file in the server folder and add the following environment variables:
DATABASE=<MongoDB connection string>
MY_AWS_ACCESS_KEY_ID=<AWS access key>
MY_AWS_SECRET_ACCESS_KEY_ID=<AWS secret access key>
EMAIL_FROM=<Sender email address>
REPLY_TO=<Reply-to email address>
GOOGLE_PLACES_KEY=<Google Maps API key>
JWT_SECRET=<JWT secret key>
CLIENT_URL=<Client URL>
- Create a .env file in the client folder and add the following environment variables:
GOOGLE_PLACES_KEY=<Google Maps API key>
REACT_APP_API=<Server App API URL>
This project was created as part of the React Node MERN Marketplace course on Udemy, taught by Ryan Dhungel.