This project simulates a real-estate platform for buying, selling and renting properties, with a following tech stack:
- Frontend: React, Vite, TailwindCSS, Redux
- Backend: Node.js, Express.js, MongoDB, Firebase
- Containerization: Docker, Docker Compose
To set up and run the application, follow the steps below.
git clone git@github.com:nikkxll/real-estate-app.git
cd real-estate-app
Both the API and Client require environment variables to function properly. You need to create .env
files in their respective directories.
In the .env
file in the root of the project, add the following variables:
JWT_SECRET
Generate a random JWT secret using the following script:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
MONGO_DB
Set the MongoDB connection string:
MONGO_DB=mongodb://mongo:27017/real_estate
In the .env
file inside the client
folder, add the following variable:
VITE_FIREBASE_API_KEY
Obtain this by creating your own Firebase project:
- Go to the Firebase Console
- Create a new project and add a Web app
- Once set up, Firebase will provide an API key as part of the Firebase SDK snippet
To build the Docker images and run the application using Docker Compose:
docker-compose build
docker-compose up
Open localhost
on port 3000
in the browser
LinkedIn: Dmitrii Nikiforov | Tableau: dmitriinikiforov